Ir para conteúdo
Fórum Script Brasil
  • 0

Upload De Arquivo Zip


Charlo

Pergunta

Olá gente, eu sou novo aqui e gostei muito do fórum, é realmente bem legal, e o mais legal de tudo é que as pessoas se ajudam. Valororizo muito isso.

E como eu estou com uma pequena dúvida aqui eu gostaria da ajuda de vocês.

Eu baixei um script para upload de arquivo e funciona muito bem, mas só que só funciona com foto, já modifiquei a linha do MIME TYPE para que a pessoa só possa fazer upload de arquivo que esteja zipado, o código está feito para verificar se tal extensão de arquivo a fazer upload é .zip caso contrário sai uma mensagem avisando ao usuário. Até aí tudo bem.

O problema é quando o usuário clica no botão procurar e na caixa de seleção embaixo só aparecem: Todos os arquivos, Arquivos do tipo gif, bmp, jpg e arquivos do tipo HTML.

O que realmente eu gostaria é de deixar somente o tipo de arquivo zip, ou seja, o usuário só veria arquivos zip's para poder fazer upload.

Alguém tem alguma idéia de como fazer para aparecer somente o zip na caixa de seleção?

Agradeço qualquer tipo de ajuda.

Estou utilizando esse código no 1º arquivo que se chama index.php e utiliza:

<?
    
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
<title>Upload de legenda</title>
<?
    $MSG=$_GET["txtMSG"];
?>
&lt;script language="javascript" type="text/javascript">
    function upload(nform){
        if(nform.arquivo.value==""){
            alert("Escolha um arquivo");
            return false;
        }
    }
</script>
</head>
<body>
    <table width="100%" align="center" cellpadding="0" cellspacing="0">
        <tr>
            <td align="center" valign="top">
                <font color="#333333" face="tahoma" size="+3">Upload Fácil</font>
            </td>
        </tr>
        <form action="upload.php" method="post" enctype="application/zip" onSubmit="return upload(this);">
        <tr>
            <td align="center" valign="top" style="padding-top:15px;">
                Procurar Arquivo <input type="file" name="arquivo"><br><br>
                <input type="submit" value="Enviar">                
            </td>
        </tr>
        </form>
    </table>
<? if($MSG!=""){?>
    &lt;script language="javascript" type="text/javascript">
        alert("<?=$MSG?>");
        location.href="index.php";
    </script>
<? }?>
</body>
</html>
E o 2º arquivo que se chama upload.php tem esse código:
<?
    // Repassa a variável do upload
    $arquivo=isset($_FILES['arquivo']) ? $_FILES['arquivo']: FALSE;
    
    $maximo = 200000; //Tamanho máximo de arquivo que será liberado para upload em bytes
    
    //Tipos de arquivos que serão aceitos.
    //Atenção - Para o upload aceitar mais de um tipo de arquivo use os comparadores lógicos do PHP
    //Abaixo estão alguns exemplos de MIME/TYPE
    //Lista completa de MIME/TYPES - [url=http://www.recomende.com/arquivo/ferramentas/mime_types.php]http://www.recomende.com/arquivo/ferramentas/mime_types.php[/url] 
    $tipo = "image/pjpeg"; // arquivo jpg
    //$tipo = "image/gif"; // image/gif = arquivo gif
    //$tipo = "application/vnd.ms-excel"; // arquivo formato csv
    
    //Tratamento do nome do arquivo
    $nome=$arquivo['name'];
    $nome=str_replace(" ","_",$nome); //substituir espaços em branco por underscore
    $nome=strtolower($nome); //colocar o nome do arquivo em minúsculas
    
    $diretorio = "./arquivos/";//Diretorio que o arquivo será salvo
    
    $local=$diretorio.$nome;//Diretorio que o arquivo será salvo + nome
    
    if (file_exists($local)) { //verificação se o arquivo já existe no diretório especificado
        header("location:index.php?txtMSG=Erro. O arquivo já exite na pasta especificada");
    } 
    elseif($arquivo['size'] > $maximo){//verificação do tamanho do arquivo
        header("location:index.php?txtMSG=O arquivo é maior do que o limite de 200Kbs estipulados.");
    }
    elseif($arquivo['type'] !== $tipo){//verificação do tipo do arquivo
        header("location:index.php?txtMSG=O arquivo enviado não é do formato permitido.");
    }
    else{//Depois de todos os testes mova o arquivo para o diretório desejado.
        if(move_uploaded_file($arquivo['tmp_name'], $local)){//Move o arquivo
            header("location:index.php?txtMSG=Arquivo enviado com sucesso");
        }
        else{
            header("location:index.php?txtMSG=Erro ao enviar o arquivo");
        }
    }
?>

Obrigado gente.

Charlo

Editado por ESerra
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom, de todas as maneiras eu agradeço ao pessoal.

E respondendo a pergunta do ESerra. Eu acho que é php sim porque o código está todo em php e como eu sou novo aqui eu pensei que deveria postar no fórum de php pelo simples fato de achar que poderia ser alterado esta opção através do código.

Obrigado de qualquer forma.

Charlo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...