glauco29 0 Denunciar post Postado Agosto 26, 2010 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
Vinicius Cruz 1 Denunciar post Postado Agosto 27, 2010 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. Compartilhar este post Link para o post Compartilhar em outros sites
glauco29 0 Denunciar post Postado Outubro 15, 2010 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