Mailinglisten-Archive |
Hallo, antworte ich mir mal selbst ;) > Ich erhalte immer die (falsche) Fehlermeldung NO_USER_FILE, wenn die > hochzuladende Datei größer ist als entweder MAX_FILE_SIZE im Formular > oder upload_max_filesize. Das Teil erscheint mir nicht ausgereift - z. > B. benötigt die mitgelieferte Beispieldatei php_flag register_globals > on, damit sie überhaupt funktioniert ... > > Allerdings finde ich auf der Seite vor PEAR keine Infos zu Bugs; > ausserdem wurde es bereits 11.000 mal heruntergeladen - da muss doch > schon jemand über den Bug gestolpert sein. Also stelle ich mich > vielleicht nur besonders dumm an. Es ist m. E. ein logischer Fehler in der Klasse ( || statt && in dieser Bedingung: function HTTP_Upload_File(xxx) { xxxxxx if (empty($name) || $size == 0) { ^^^^ ), der dazu führt, dass nur Größen zwischen MAX_FILE_SIZE im Formular und upload_max_filesize mit der korrekten Fehlermeldung ausgegeben werden. Dateien über upload_max_filesize ergeben die falsche Fehlermeldung, dass keine Datei mitgesendet wurde. Einfach || durch && ersetzen reicht und es funktioniert. Ausserdem kam mir noch post_max_size in die Quere. Da ein Überschreiten dieses Wertes das $_POST-Array komplett ausleert (und das $_FILES-Array ebenfalls), kann das Skript in diesem Fall nicht funktionieren. Ich behelfe mir jetzt, indem ich eine (versteckte) $_POST-Variable mit übergebe. Ist diese leer, so wurde post_max_size überschritten. Eine bessere Lösung habe ich im Archiv nicht gefunden. viele Grüße Peter -- ---------------------------------------------------------------- Peter Linzenkirchner Lisardo Multimedia GmbH Herrenbachstraße 19, 86161 Augsburg Tel. ++49-821-150565, Fax ++49-821-150595 ----------------------------------------------------------------
php::bar PHP Wiki - Listenarchive