Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

glauco29

Problema com upload de arquivos ZIP e RAR

Recommended Posts

Boa tarde pessoal, estou com um problema que nunca vi antes... Em meu site, tem uma parte que cadastro os clientes, em outra parte eu clico em editar em um cliente e vou para uma tela com os dados do cliente preenchidos onde posso fazer upload de arquivos ZIP ou RAR, o problema é: em casa no meu pc eu consigo subir o arquivo normalmente, porém em outro lugar eu não consigo (ele exibe a mensagem do "if": "Formato inválido." do script que verifica se é extensão ZIP ou RAR), tentei na faculdade, na casa do meu colega, na lan house e nada, ele só sobe em casa no meu pc, mas eu não coloquei nenhum bloqueio por ip e nada. Segue abaixo o código da página que faz upload, se alguém puder me ajudar agradeço.

 

 


if(isset($_POST['nome']))
{
	$id_cliente = $_POST['id_cliente'];
	$nome = $_POST['nome'];
	$telefone = $_POST['telefone'];
	$dominio = $_POST['dominio'];
	$endereco_ftp = $_POST['endereco_ftp'];
	$usuario_ftp = $_POST['usuario_ftp'];
	$senha_ftp = $_POST['senha_ftp'];
	$endereco_painel = $_POST['endereco_painel'];
	$usuario_painel = $_POST['usuario_painel'];
	$senha_painel = $_POST['senha_painel'];
	$endereco_bd = $_POST['endereco_bd'];
	$usuario_bd = $_POST['usuario_bd'];
	$senha_bd = $_POST['senha_bd'];
	
	//deixa a primeira letra em maíscula
	$nome = ucfirst($nome);
	
	if(is_file($_FILES['arquivo_compactado']['tmp_name']))
	{		
		$caminho = "arquivos_zip_rar/";
		
		$arquivo = $_FILES['arquivo_compactado']['name'];
		
		//se não for do tipo .zip ou .rar então exibe a mensagem
		if(!preg_match("/^application\/(zip|x-rar)$/",$_FILES['arquivo_compactado']['type']))
		{
			echo "<script language=\"javascript\">\n\n
  
//Ele exibe essa mensagem, mas não era pra exibir pq eu tento subir arquivo ZIP ou RAR.
 			alert (\"Formato invalido.\");\n\n
  
  			function redireciona() {window.location=\"editar_clientes_adm.php?id_cliente=$id_cliente\";}redireciona();

			</script>";
		}
		else
		{
			if($_FILES['arquivo_compactado']['type'] == "application/zip")
			{
				$arquivo = str_replace($arquivo,"Site_".$id_cliente.".zip",$arquivo);
			}
			else
			{
				$arquivo = str_replace($arquivo,"Site_".$id_cliente.".rar",$arquivo);
			}
			
			//se der erro ao mover o arquivo, então exibe a mensagem
			if(!move_uploaded_file($_FILES['arquivo_compactado']['tmp_name'],$caminho.$arquivo))
			{
				echo "<script language=\"javascript\">\n\n
		  
				alert (\"Erro ao enviar o arquivo.\");\n\n
		  
				function redireciona() {window.location=\"editar_clientes_adm.php?id_cliente=$id_cliente\";}redireciona();
		
				</script>";
			}
			else
			{
				$data = date("d/m/Y");
				$hora = date("H:i:s");
				
				include("funcoes_data.php");
				$data = dtBanco($data);
				
				$insere = mysql_query("INSERT INTO arquivos_zip_rar (id_cliente,arquivo,data_upload,hora_upload,atualizado_por) VALUES ($id_cliente,'$arquivo','$data','$hora','$login')");
				
				$update = mysql_query("UPDATE clientes SET nome='$nome',telefone='$telefone',dominio='$dominio',endereco_ftp='$endereco_ftp',usuario_ftp='$usuario_ftp',senha_ftp='$senha_ftp',endereco_painel='$endereco_painel',usuario_painel='$usuario_painel',senha_painel='$senha_painel',endereco_bd='$endereco_bd',usuario_bd='$usuario_bd',senha_bd='$senha_bd' WHERE id_cliente = $id_cliente");
					
					if(($insere == false) && ($update == false))
					{	
						echo "<script language=\"javascript\">\n\n
		  
		  				alert (\"Erro ao editar os dados do cliente.\");\n\n
						 
						function redireciona() {window.location=\"editar_clientes_adm.php?id_cliente=$id_cliente\";}redireciona();
						
						</script>";
								
					}
					else
					{			
						echo "<script language=\"javascript\">\n\n
							  
						alert (\"Cliente editado com sucesso.\");\n\n
							  
						function redireciona() {window.location=\"visualizar_clientes_adm.php\";}redireciona();
							
						</script>";
					}
						
			}
						
		}
			
	}
	else
	{
		
		$update = mysql_query("UPDATE clientes SET nome='$nome',telefone='$telefone',dominio='$dominio',endereco_ftp='$endereco_ftp',usuario_ftp='$usuario_ftp',senha_ftp='$senha_ftp',endereco_painel='$endereco_painel',usuario_painel='$usuario_painel',senha_painel='$senha_painel',endereco_bd='$endereco_bd',usuario_bd='$usuario_bd',senha_bd='$senha_bd' WHERE id_cliente = $id_cliente");
		
		if($update == true)
		{
			echo "<script language=\"javascript\">\n\n
			
			alert (\"Cliente editado com sucesso.\");\n\n
			  
			function redireciona() {window.location=\"visualizar_clientes_adm.php\";}redireciona();
			
			</script>";
		}
		else
		{
			echo "<script language=\"javascript\">\n\n
			
			alert (\"Desculpe, tente mais tarde.\");\n\n
			  
			function redireciona() {window.location=\"editar_clientes_adm.php?id_cliente=$id_cliente\";}redireciona();
			
			</script>";
		}
	}
				
}

 

Obrigado, Glauco.

 

 

Jesus te ama.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá um echo $_FILES['arquivo_compactado']['type'] para confirmar o valor retornado.

 

Acredito que esse IF pode ser simplificado, sem o uso do preg_match.

 

Dei um echo no "$_FILES['arquivo_compactado']['type']" e verifiquei que ele está retonando "application/force-download" como extensão do arquivo,

alguém sabe como posso resolver esse problema, pq ele aparece essa extensão doida?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.