Avond mensen!
Frustrerend probleem: het lijkt er op dat de functie move_uploaded_file in z'n eentje voor een eindeloze lus in mijn PHP-script zorgt. Wanneer het verplaatsen van het bestand mislukt, lijkt het alsof de functie gewoon opnieuw uitgevoerd wordt, wat dus in een lus resulteert.
Het uploaden van de bestanden zelf gaat prima; als ik bijv $_FILES["bestand"]["error"] uitlees, komt daar 0 uit (maw, de file upload is gelukt). Bij move_uploaded_file gaat het soms echter fout. Dat is trouwens ook het frustrerende; soms gaat het prima, de andere keer gaat het fout. Ook bij dezelfde bestanden.
Error reporting staat op E_ALL, maar move_uploaded_file geeft me geen warning of notice.
Als ik de break in volgend voorbeeld weglaat, dan eindigt de pagina in een eindeloze lus (om dit stukje zit een foreach heen, mij een raadsel waarom juist die foreach in een eindeloze lus blijft hangen):
Inmiddels ben ik de wanhoop nabij. Het stukje code heeft altijd gewerkt (het is een CMS dat op een stuk of 10 sites draait, nooit problemen ondervonden). Vooral irritant is het feit dat het kreng geen warning geeft, dan zou ik al wat verder zijn.
Kijk ik over iets heen?
Frustrerend probleem: het lijkt er op dat de functie move_uploaded_file in z'n eentje voor een eindeloze lus in mijn PHP-script zorgt. Wanneer het verplaatsen van het bestand mislukt, lijkt het alsof de functie gewoon opnieuw uitgevoerd wordt, wat dus in een lus resulteert.
Het uploaden van de bestanden zelf gaat prima; als ik bijv $_FILES["bestand"]["error"] uitlees, komt daar 0 uit (maw, de file upload is gelukt). Bij move_uploaded_file gaat het soms echter fout. Dat is trouwens ook het frustrerende; soms gaat het prima, de andere keer gaat het fout. Ook bij dezelfde bestanden.
Error reporting staat op E_ALL, maar move_uploaded_file geeft me geen warning of notice.
Als ik de break in volgend voorbeeld weglaat, dan eindigt de pagina in een eindeloze lus (om dit stukje zit een foreach heen, mij een raadsel waarom juist die foreach in een eindeloze lus blijft hangen):
PHP:
1
2
3
4
5
| $fullpath = $DOCUMENT_ROOT . $ucms["uploaddir"] . $filename; if (!move_uploaded_file($_FILES[$field]["tmp_name"], $fullpath)) { echo "Mislukt!<br>\n"; break; } |
Inmiddels ben ik de wanhoop nabij. Het stukje code heeft altijd gewerkt (het is een CMS dat op een stuk of 10 sites draait, nooit problemen ondervonden). Vooral irritant is het feit dat het kreng geen warning geeft, dan zou ik al wat verder zijn.
Kijk ik over iets heen?