Ir para conteúdo

POWERED BY:

Arquivado

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

Bru_ce

Upload de Arquivo RAR e ZIP

Recommended Posts

Bom Dia amigos,
Peguei um script pronto de upload, localmente ele sobe os arquivos com extensão rar e zip.
Porém online não, alguém sabe o motivo ?

 

Segue script:

 

 

funcao_upload.php
<?php
/**
    * Função para fazer upload de arquivos
    * @author Rafael Wendel Pinheiro
    * @param File $arquivo Arquivo a ser salvo no servidor
    * @param String $pasta Local onde o arquivo será salvo
    * @param Array $tipos Extensões permitidas para o arquivo
    * @param String $nome Nome do arquivo. Null para manter o nome original
    * @return array
*/
function uploadFile($arquivo, $pasta, $tipos, $nome = null){
    if(isset($arquivo)){
        $infos = explode(".", $arquivo["name"]);
 
        if(!$nome){
            for($i = 0; $i < count($infos) - 1; $i++){
                $nomeOriginal = $nomeOriginal . $infos[$i] . ".";
            }
        }
        else{
            $nomeOriginal = $nome . ".";
        }
 
        $tipoArquivo = $infos[count($infos) - 1];
 
        $tipoPermitido = false;
        foreach($tipos as $tipo){
            if(strtolower($tipoArquivo) == strtolower($tipo)){
                $tipoPermitido = true;
            }
        }
        if(!$tipoPermitido){
            $retorno["erro"] = "Tipo não permitido";
        }
        else{
            if(move_uploaded_file($arquivo['tmp_name'], $pasta . $nomeOriginal . $tipoArquivo)){
                $retorno["caminho"] = $pasta . $nomeOriginal . $tipoArquivo;
            }
            else{
                $retorno["erro"] = "Erro ao fazer upload";
            }
        }
    }
    else{
        $retorno["erro"] = "Arquivo nao setado";
    }
    return $retorno;
}
?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta correto o diretório de destino, apenas gera o erro do sistema,

tipo: Erro ao fazer upload, arquivo não setado ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o tamanho do arquivo e como estão as configurações do PHP?
post_max_size

upload_max_filesize

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria um arquivo php com o conteúdo abaixo:

 

<?php phpinfo(); ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

então tá explicado :D

 

você está tentando enviar um arquivo de 30mb enquanto teu servidor só aceita 2mb

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correto, qual a função das duas linhas ?

Ué, a função delas é delimitar o tamanho máximo de requisições POST e o tamanho máximo de cada arquivo, respectivamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não basta alterar somente upload_max_filesize.

post_max_size também tem que aumentar.

 

Como vou fazer um upload de 300 mb se posso enviar somente 8 mb de post?

 

Outra coisa, leia neste post alguns comentários que faço sobre alterar configurações sem os devidos testes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei no Inicio do meu PHP assim também e não esta funcionando.

 

 

ini_set('upload_max_filesize','500');
ini_set('post_max_size','500');
ini_set('max_input_time',300);
ini_set('max_execution_time',300);

Compartilhar este post


Link para o post
Compartilhar em outros sites

O tamanho precisa do fator multiplicador. Um simples 500 significa 500 bytes. O valor deve ser 500M

 

Note, também, que as duas diretivas são de tipo PERDIR, o que significa que só podem ser alteradas pelo php.ini, .user.ini se estiver executando como cgi ou .htaccess se estiver executando como um módulo apache.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei isso no htaccess e agora o site não abre kkkkk !

 

 

 

php_value memory_limit 256M
php_value post_max_size 256M
php_value upload_max_filesize 256M
php_value max_execution_time 360
php_value session.gc_maxlifetime 3600

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixa rodando e espera. Por padrão o limite do apache é de 5 minutos, menor que os 360 segundos (6 minutos) que você marcou no .ini.

 

Verifique se há erros no log do apache.

 

Veja algumas formas de enviar os erros do PHP para os logs do apache aqui

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.