dedlfix: Fehlerbehandlung in upload-Script

Beitrag lesen

echo $begrüßung;

Die Fehlerbehandlung meines upload-Scripts funktioniert nicht ganz korrekt, die Ursache kann ich im Moment nicht erkennen, Fehlermeldung wird, trotz E_ALL, keine ausgegeben.

Fehler bekommt man nicht immer auf dem Silbertablett serviert, sprich: durch Ausgabe einer Meldung angezeigt.

if (preg_match('~.jpg|jpeg|.gif|.png~i', substr($_FILES['userfile']['name'], -4))
Mit der if-Abfrage überprüfe ich Format und Größe der Datei und reagiere entsprechend.

Mit dem ersten Teil der Bedingung prüfst du kein Format sondern nur einen Teil des Dateinamens. Wenn du Bilddateien erwartest, solltest du getimagesize() darauf anwenden und prüfen, ob ein Array mit Daten oder false (nebst Warnung) zurückgeliefert wird.

Allerdings wird die Fehlerbehandlung nur bei falschem Dateiformat, nicht aber bei falscher Größe aufgerufen. Wo liegt mein (logischer) Fehler?

Suche die Ursache in den Inhalten der Variablen. Lass dir deren Inhalt ausgeben und vergleiche das Tatsächliche mit dem Erwarteten.

<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_file_size ?>">

Diese Angabe ist überflüssig, da sich sowieso kein Client dran hält.

echo "$verabschiedung $name";