[php] file upload probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • defl8te
  • Registratie: Augustus 2001
  • Laatst online: 09-09-2024

defl8te

weetikkût

Topicstarter
Ik heb een probleem met file uploading in php, om de een of andere reden wordt in een aantal specifieke gevallen $_FILES niet gevuld.

Ik heb een multipart/form-data in mijn formulier, file uploading staat aan, /var/spool/php heeft genoeg vrije diskspace en heeft ook de goede rechten.

De fout doet zich voor onder alle browsers, maar ik kan het probleem zelf (haast) niet reproduceren (ik krijg verschillende klachten van gebruikers; vooral berichten over een time-out na enkele minuten).

Het vreemde is, dat het uploaden altijd gewerkt heeft, tot 23 juni, sindsdien zijn er verschillende meldingen van problemen met uploaden.

Uiteraard heb ik al gegoogled, ik kan alleen http://getluky.net/2004/1...array-mysteriously-empty/ vinden wat precies hetzelfde doet. Het leeghalen van de php tmp dir heeft echter geen nut.

In de keren dat het uploaden bij het reproduceren ook fout gaat, geeft een print_r($_FILES) bot NULL terug.

Mijn vraag; heeft iemand dit eerder meegemaakt? of weet iemand iets over een security update oid na de 23e juni?

[ Voor 12% gewijzigd door defl8te op 05-07-2005 11:22 ]

Chriet Titulaer is de man


Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 21-09 11:30

Guldan

Thee-Nerd

Komt dat misschien omdat de file te groot is? Dit word geregeld door de upload_max_filesize. Deze kun je aanpassen in de php.ini. Ook moet je als je deze erg groot maakt ff de timeout van php aanpassen zodat er genoeg tijd word gegeven om de file te uploaden

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

  • Speedener
  • Registratie: September 2000
  • Laatst online: 18-09 12:54
code:
1
 enctype="multipart/form-data"

in je form tag staan?

LG Therma V Split WP: HU143MA.U33-HN1636M NK5


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Een timeout is lastig te voorkomen als mensen een bestand van 10MB gaan uploaden met een uploadsnelheid van 4K ofzo..

Verder wel vreemd dat $_FILES als NULL terugkomt.. dit zou nooit mogen gebeuren als de enctype goed is.

[ Voor 5% gewijzigd door Bosmonster op 05-07-2005 12:25 ]


Acties:
  • 0 Henk 'm!

  • Equator
  • Registratie: April 2001
  • Laatst online: 09-09 15:29

Equator

Crew Council

#whisky #barista

Speedener schreef op dinsdag 05 juli 2005 @ 12:19:
code:
1
 enctype="multipart/form-data"

in je form tag staan?
Ik heb een multipart/form-data in mijn formulier, file uploading staat aan, /var/spool/php heeft genoeg vrije diskspace en heeft ook de goede rechten.
ja dus..



Wat is de grootte van de files, en wat staat er in je php.ini beschreven als maximum.
Staat error_reporting(E_ALL) aan
Geeft de upload een error terug :?

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:44

crisp

Devver

Pixelated

Bosmonster schreef op dinsdag 05 juli 2005 @ 12:24:
Een timeout is lastig te voorkomen als mensen een bestand van 10MB gaan uploaden met een uploadsnelheid van 4K ofzo..

Verder wel vreemd dat $_FILES als NULL terugkomt.. dit zou nooit mogen gebeuren als de enctype goed is.
Er zit een bug in IE waarbij van een formulier met enctype multipart/form-data het 1e formveld niet wordt doorgestuurd als er ergens in het formulier ook een non-ascii karakter ingevuld staat; misschien is iets dergelijks hier het geval?

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • defl8te
  • Registratie: Augustus 2001
  • Laatst online: 09-09-2024

defl8te

weetikkût

Topicstarter
Wat is de grootte van de files, en wat staat er in je php.ini beschreven als maximum.
Staat error_reporting(E_ALL) aan
Geeft de upload een error terug :?
upload_max_filesize 26214400

Lijkt me genoeg...?

E_all staat aan, maar er wordt 0,0 aan errors gereport... :(
Er zit een bug in IE waarbij van een formulier met enctype multipart/form-data het 1e formveld niet wordt doorgestuurd als er ergens in het formulier ook een non-ascii karakter ingevuld staat; misschien is iets dergelijks hier het geval?
Dit lijkt me een goede mogelijkheid, die ga ik even checken...

edit:

en ja hoor! Dat is hem!

Het eerste veld in mijn form is de MAX_FILE_SIZE field (voor php), en die wordt dus genegeerd. Wanneer een gebruiker nu een file upload die groter is dan de max_file_size uit de php.ini, wordt $_FILES niet gevuld...

solution: een leeg hidden field aan het formulier toevoegen (of je users leren geen non-ascii karakters te gebruiken ;))

klinkt logisch, maar kom er maar eens op :)

[ Voor 27% gewijzigd door defl8te op 05-07-2005 14:02 . Reden: bug gevonden! en gefixed! ]

Chriet Titulaer is de man

Pagina: 1