Jump to content


Photo

Problema Com Upload De Arquivos Zip E Rar


  • Faça o login para participar
1 reply to this topic

#1 glauco29

glauco29

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 26/08/2010, 16:08

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.

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 26/08/2010, 18:52

Não confie nesse $_FILES['arquivo_compactado']['type']. Verifique pela extensão mesmo. Não é garantido, mas é o que se pode fazer.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq