hawkmaster: Abfangen? POST Content-Length of .. bytes exceeds the limit

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

  1. 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!

    1. 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

  2. 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

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. 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