UPLOAD DE ARQUIVOS PESADOS PHP

Hoje precisei aumentar o tamanho limite permitido para fazer upload de arquivos grandes no php sem a necessidade de alterar o arquivo de configuração PHP.ini.

Instanciei a classe UploadHandler.php, onde já faz todo processo de upload no php.

Então segue abaixo o código que joguei no arquivo .htacess do meu projeto e funcionou perfeitamente.


php_value memory_limit 400M
php_value post_max_size 100M
php_value upload_max_filesize 120M
php_value max_execution_time 1800
php_value session.gc_maxlifetime 3600
  
O parâmetro: memory_limit, aumentamos o valor máximo de memória em bytes que um script pode alocar para “400MB”. O valor padrão é “128MB”, caso precise de mais espaço é só aumentar o valor.
O parâmetro: post_max_size, aumentamos o tamanho máximo de dados a ser enviados via POST. O valor padrão e “8MB”, no nosso script aumentamos para “100MB”.
O parâmetro: upload_max_filesize, aumentamos o tamanho máximo do arquivo que faremos o upload para “120MB”. O padrão é “2MB”.
O parâmetro: max_execution_time, aumentamos a quantidade de segundos de execução do script para 30 minutos. O padrão e 30 segundos.
O parâmetro: session.gc_maxlifetime, aumentamos em segundo o tempo de vida de sessão para uma hora. O padrão e 24 minutos.

Abaixo o método que criei em php para fazer upload com a class UploadHandler.php

    function upload(){
         error_reporting(E_ALL | E_STRICT);
          ///IMPORTA A CLASS UploadHandler.php
           require(APPLICATION_PATH."/../public/js/jquery/jQuery-File-Upload-9.5.7/server/php/UploadHandler.php");     

          ////CRIA ARRAY COM INFORMAÇÕES QUE SERÃO PASSADAS PARA CLASS
         $options = array('upload_dir'=>$caminhoArquivo, 'upload_url'=>$caminhoArquivo); ///informo onde será armazenado o arquivo após o upload
        $upload_handler = new UploadHandler($options); //passo o array com as informações de upload para class
        $file = $upload_handler->file; ///recebo os dados do arquivo após upload
        return $file->name; ////retorna o nome do arquivo
}


⟾Para dúvidas, sugestões ou agradecimentos, deixe seu comentário.