MAL - Memória Auxiliar do Lutieri

quinta-feira, abril 19, 2007

Tamanho Máximo do Upload no PHP[Atualizado]

Estou eu já brigando há algum tem com a intranet aqui da empresa. Temos uma interface que é usada para fazer upload de arquivos para o servidor. Pois bem, não fui eu quem desenvolveu a intranet, portanto estou descobrindo-a ainda.

Falando um pouco mais da intranet: Foi um trabalho muito bem feito por uma empresa aqui de POA a qual não quero citar o nome. Ela é divida em templates, classes, arquivos de configuração em xml, Data mappers, enfim... Uma das classes utilizadas é a httpupload.php. Que como o próprio nome diz é utilizada para fazer uploads de arquivos para o servidor. Esta classe foi desenvolvida por Nguyen Quoc Bao. Não sei quem é, mas é alguém que deve viver na frente do PC. Pelo nome deve ser algum vietnamita que ganhou um computador do governo e acabou desenvolvendo em PHP ;-) Enfim a classe é boa e completa. Contando com tratamento de erros e outros blá blá blás. O link pra ela eu coloco daqui a pouco. Aguarde ...

Existe, na minha intranet, uma interface que é utilizada para enviar arquivos para o servidor, however, percebi que não eram enviados arquivo maiores que 2 ou 3 megabytes. Virei o código da intranet pra cima e para baixo e não encontrei nada que pudesse estar barrando. Criei uma página nova inclui a classe e montei um formulariozinho para testar a classe. Antes de terminar encontrei um exemplo já prontinho aqui. Se você for usar este exemplo vai precisar da classe também que está aqui.

Aaaaaaaaaa falando em classe. Ela está com um problema.
Ela usa a variável $HTTP_POST_FILES, contudo esta variável foi substituída por $_FILES.

Devemos então substituir essas variáveis antigas pelas novas. Pois dependendo da versão do PHP não vai fazer upload de nada e vai dar a mensagem 'No file was submited.'.

Usando o VI para substituir:

:%s/HTTP_POST_FILES/_FILES/g


Pronto. Tudo funcional.


Bom... o problema é que não fazia upload de arquivos grandes.
Nesta página nova, de teste, quando eu tentei fazer o upload ele me retornou o erro -2 com a seguinte mensagem: The uploaded file exceeds the upload_max_filesize directive in php.ini.

Eis que fui eu no meu arquivo php.ini e alterei a diretiva upload_max_filesize para 10 MB.

Reload no apache e era isso.

Todo mundo feliz. ;-)

Aconselho esse site pra quem procura classes interessantes:
www.phpclasses.org

Hoje 17.05.07 tive que implementar um sistema de uploads em outro servidor. Antes de tudo tive que recorrer a esse blog, leia-se memória auxiliar do Lutieri, tá aí um bom nome pra esse blog. MAL - Memória auxiliar do Lutieri.... ;-) Vou mudar o título....

Bom continuando no upload dos arquivos com php. Existem mais algumas diretivas que devem ser setadas corretamente. São elas:

  • file_uploads
  • upload_max_filesize
  • max_input_time
  • memory_limit
  • max_execution_time
  • post_max_size

Encontrei um artigo falando sobre como manipular arquivos grandes com php. Nele achei tudo o que eu precisava. Segue o link, que é mais rápido do que eu ficar aqui digitando e digitando...

http://www.radinks.com/upload/config.php

Se eu não me engano esse mesmo site tem uma ferramenta em Java que pode ajudar caso não seja possível com php ou muito trabalhoso.

Marcadores: ,

3 Comentários:

  • Mazah guri! Ta ficando bom em? Eu comecei meu estudo de Classes não faz muito tempo, mas quem sabe um dia o pessoa ai ta usando uma Classe desemvolvida por mim. Valeu

    By Blogger D D D, at 19/04/2007, 20:57  

  • Cara! Muito boa a idéia desse blog hehehee. Realmente, tem coisas que a gente não faz questão de aprender porque a gente pode consultar.

    Eu programo em php tbm e sei como é, tanto é que vim parar aqui, porque não lembrava onde se alterava o tamanho máximo de upload, rsrsrs

    Parabéns pelo blog!

    Abraços!

    By Blogger zardblend, at 29/09/2009, 13:42  

  • Pois eh zardblend!

    A princípio eu nem tinha incluido o blog no índice do google e estava feliz assim. Porque afinal de contas era a MINHA memória auxiliar.. hehe

    Um dia resolvi colocar e vi que aos poucos essas minhas anotações também poderiam servir pra outras pessoas. E alguns, assim como você, acabavam caindo aqui de para-quedas e usam as dicas tbm. Desde então, sempre que consigo, faço uma espécie de um artigo e não apenas os dados essencias para fazer o que eu queria fazer.

    Que bom que este post foi útil pra vc tbm!!

    vlw

    []'s

    By Blogger Lutieri G. B., at 29/09/2009, 13:48  

Postar um comentário

<< Home



Chat with Lutieri G. B.

Subscribe in a reader