Abfangen? POST Content-Length of .. bytes exceeds the limit
hawkmaster
- php
Hallo zusammen,
ich habe ein Upload Formular. Testweise habe ich in der php.ini die Werte für post_max_filesize und upload_max_filesize auf 20M gesetzt.
Beim Versuch eine ca. 35 MB grosse Datei hochzuladen kommt nun die Warning:
Warning: POST Content-Length of 32530567 bytes exceeds the limit of 20971520 bytes in Unknown on line 0
Ich versuche Upload Fehler wie folgt abzufangen.
if ($_FILES['dateiupload']['error'] !== UPLOAD_ERR_OK)
{
echo "Fehler beim Upload: " . $_FILES['dateiupload']['error'];
return false;
}else{
....
copy(...
}
Aber eigentlich kann das ja nicht greifen, weil das Script ja garnicht soweit kommt oder?
Gibt es irgend eine "schöne" Art und Weise dieses Warning abzufangen?
Ohne das Error reporting ganz abzuschalten?
vielen Dank und viele Grüße
hawk
Hi!
Warning: POST Content-Length of 32530567 bytes exceeds the limit of 20971520 bytes in Unknown on line 0
Ich versuche Upload Fehler wie folgt abzufangen.
Aber eigentlich kann das ja nicht greifen, weil das Script ja garnicht soweit kommt oder?
Richtig. Dein Script beginnt mit Zeile 1, die Meldung nennt die (Pseudo-)Zeile 0, liegt also außerhalb deines Verantwortungsbereiches.
Gibt es irgend eine "schöne" Art und Weise dieses Warning abzufangen?
Nein, denn außerhalb deines Scripts kannst du keinen Code schreiben, der etwas abfangen könnte. Nur Meldung unterdrücken geht.
Ohne das Error reporting ganz abzuschalten?
Das Ausschalten müsste ebenfalls außerhalb deines Scripts erfolgen. Dabei sollte es reichen, die Anzeige zu unterdrücken, damit dein eigener Error-Handler zumindest aufgerufen werden kann (natürlich erst für Fehler nach dem Scriptstart) und für den Administrator mitloggen kann. (Du hast doch einen und lässt deine Anwendung nicht völlig unbeaufsichtigt laufen?) Für das Ausschalten der Anzeige ist entweder display_errors oder display_startup_errors zuständig - probier das mal aus.
Die eigentliche Ursache lässt sich nicht beseitigen, denn dass der Anwender zu große Dateien hochlädt, liegt außerhalb des Einflussbereichs von PHP und Webserver.
Lo!
Hallo dedlfix,
Danke für deine Erklärung.
Die eigentliche Ursache lässt sich nicht beseitigen, denn dass der Anwender zu große Dateien hochlädt, liegt außerhalb des Einflussbereichs von PHP und Webserver.
so habe ich es auch verstanden und wollte das nur nochmals bestätigt haben.
vielen Dank und viele Grüße
hawk
Hello,
ich habe ein Upload Formular. Testweise habe ich in der php.ini die Werte für post_max_filesize und upload_max_filesize auf 20M gesetzt.
Und was ist mit memory_limit?
Hast Du das auch hochgesetzt?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo Tom,
vielen Dank für die Hilfe.
Und was ist mit memory_limit?
Hast Du das auch hochgesetzt?
ja, ich werde in der Endfassung die Werte für
upload_max_filesize
post_max_filesize
memory_limit
max_execution_time
max_input_time
entsprechend hochsetzen.
ich habe hier nur mal zum testen bewusst den post_max_filesize und
upload_max_filesize Wert runtergesetzt um zu sehen ob
$_FILES['dateiupload']['error']
irgend einen Feler bringt.
vielen Dank und viele Grüße
hawk