Se você tem problemas quando vai fazer upload de um arquivo grande no PHP e não consegue acessar as configurações do PHP “php.ini” de seu servidor, você tem uma alternativa que é usar um arquivo .htaccess.
Você deverá aumentar a memória, setar um tamanho maior para dados enviados via POST, aumentar também o tamanho máximo de upload, aumentar o tempo máximo de processamento para não estourar o tempo de execução do seu script, e também dependendo do tamanho do arquivo a ser feito upload, aumentar o tempo de vida da sessão.
Arquivo .htaccess: vamos ver na prática!
php_value memory_limit 300M php_value post_max_size 150M php_value upload_max_filesize 100M php_value max_execution_time 1800 php_value session.gc_maxlifetime 3600
O parametro: memory_limit, define a qauntidade máxima de memória em bytes que um script pode alocar, seu padrão é “128M”, estamos alterando para “300M”, mas se precisar pode liberar mais memória para o script.
O parametro: post_max_size, define o tamanho máximo dos dados a ser enviados via POST, por padrão o tamanho máximo é de “8M”.
O parametro: upload_max_filesize, define o tamanho máximo do arquivo que você poderá fazer upload, seu tamanho padrão é de “2M”.
O parametro: max_execution_time, define em segundos o tempo máximo de execução de um script, o tempo padrão é de 30 segundos, estou especificando 30 minutos, é meio exagerado mas estou levando em conta as conexões discadas que ainda existem. :(
O parametro: session.gc_maxlifetime, especifica também em segundos o tempo de vida da sessão, após isso ela é limpada. O padrão é de 24 minutos ou 1440 segundos, estou alterando aqui para 1 hora para não ter problemas quando for executar o script de upload.
Classe de Upload de imagens em PHP e exemplo de utilização dela























#1 por Daniel Bastos - 19 de outubro de 2009 em 23:59
Opa, venho primeiramente dar-lhe os parabéns pelo belo blog, fazia tempo que não encontrava um site com tanta informações úteis.
Atenciosamente, Daniel Bastos (Vou por um link do seu blog no meu site pessoal)
#2 por Chris Benseler - 21 de outubro de 2009 em 13:35
Não sabia que era possível fazer essas alterações que refletem no php direto no htaccess! Boa!
#3 por Luís Dalmolin - 21 de outubro de 2009 em 21:57
Opa!
muito bom seu blog, ja utilizei vários post’s no meu dia a dia!
seguinte, esse arquivo “.htaccess” eu coloco em qual pasta?
nas pasta root onde estão os arquivos?
se puder me responder por e-mail sou muito grato!
valeu desde já!
#4 por Danilo - 23 de outubro de 2009 em 15:51
Coloque na raiz ou na pasta do arquivo que sera executado o script que fará o upload…
#5 por samuel arendt - 9 de dezembro de 2009 em 07:26
AEEE Danilão heim!
1ª página no google sobre isso. Era isso que tava procurando. vlw!
#6 por Marcelo Motta - 15 de janeiro de 2010 em 11:35
Perfeito cara, já vinha com essa dúvida há tempos e nem os caras da hospedagem puderam ajudar.
Com o htaccess ficou simples, eficiente, e eu não preciso solicitar autorização e ajuda de ninguém para enviar pro server.
Valeu!
#7 por Cézar Ayran - 23 de março de 2010 em 10:05
Opa cara muito bom! Fiz essas modificações no PHP.INI e ainda assim não consigo enviar arquivos grandes… Preciso enviar até 2 GB configurei tudo pra 2048MB aumentei o tempo e tals… a memória deixei 128 MB mesmo apesar de ter lido que precisa ser maior que o max_filesize mas imagine várias pessoas enviando um arquivo de 2 GB? Dá pra me dar um help ae? Utilizo o JQuery Upload..
#8 por Wilson - 3 de maio de 2010 em 11:14
Cara, preciso alterar o tempo da sessão do php… Adicionei isso (abaixo) no meu arquivo htaccess e nada, a sessão expira em alguns minutos mesmo com a configuração abaixo:
php_value session.gc_maxlifetime 7200
tem alguma dica?
Abraço.