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.
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.
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: 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.