dedlfix: Riesendateien hochladen

Beitrag lesen

Hi!

Nun gibt es aber Spezialisten, die versuchen, 7 MB hochzuladen. Bekannterweise geht das Hochladen deutlich langsamer als der Download. Es klappt nicht, solche Bilder kommen nicht an. Vermutlich weil PHP timeout erkennt.

PHP ist in der Lage, Fehlermeldungen in Logfiles schreiben zu können. Siehe Error Handling Runtime Configuration error_log und log_errors. Das könntest du ja mal aktivieren um genauer zu sehen, was die Ursache ist. Es kann auch am Speicherlimit liegen, so dass die Grafik zwar hochgeladen werden konnte, aber nicht geöffnet werden kann, denn dieser Vorgang nimmt deutlich mehr Speicher in Anspruch als die Datei groß ist. Hintergrund ist, dass die Grafiken zum Bearbeiten dekomprimiert werden. Und dann kann der Speicherverbrauch auch noch ein Vielfaches davon sein, weil die Bearbeitung das erfordert.

Bremst das Hochladen eigentlich den Linux- Server aus, ist der nun 10, 20 Sekunden für andere Anfragen gesperrt? Moment, das könnte ich ja selbst testen ... Nein, eine andere Seite wird ausgeliefert.

Aktuelle Betriebssysteme für Server beherrschen Multitasking.

Kann PHP beim Start eines Uploads die Größe erkennen und ggf. mit einem Fehlerhinweis abbrechen?

Ein PHP-Script wird erst dann gestartet, wenn der Request vollständig beim Server angekommen ist. Sonst müssten sich Scripte auch noch mit unvollständigen Daten rumschlagen, und es müsste einen Mechanismus geben, der das Vorliegen weiterer Daten signalisiert.

Es gibt zwar die Möglichkeit, in den Upload-Prozess einzugreifen, aber das steht nur PHP-Erweiterungen zur Verfügung.

Lo!