burghi'sphp-dummies.de
PHP für Einsteiger und Fortgeschrittenere - an laufenden Scripten erklärt
10.09.2010, 03:16 Uhr - Impressum

Tutorials - Praxis - File Upload - Fehlercodes

Tutorials - Praxis
File Upload: Fehlercodes
Wenn beim hochladen etwas nicht geklappt hat, wird in $_FILES ein Fehlercode bei dem nicht erfolgreich hochgladenem Bild erzeugt.

Dies sind die Fehlercodes, wo es gibt:

0: Es liegt kein Fehler vor, die Datei wurde erfolgreich hochgeladen.
1: Die hochgeladene Datei überschreitet die in der Anweisung upload_max_filesize in php.ini festgelegte Größe.
2: Die hochgeladene Datei überschreitet die in dem HTML Formular mittels der Anweisung MAX_FILE_SIZE angegebene maximale Dateigröße.
3: Die Datei wurde nur teilweise hochgeladen.
4: Es wurde keine Datei hochgeladen.

Je nachdem kann man nun darauf reagieren und Fehlermessages ausgeben wie z.b. "nööö die Datei war zu groß oder so";

So kann man die FehlerRoutine schöner machen:
benutzte Bilder upload/bild.jpg
gesetzt in $_POST 'absenden'
gesetzt in $_FILES 'uploadFile'
<?php
$error = "";

switch ($_FILES['uploadFile']['error']) {
     case 1:
     case 2:
          die("Datei größer als erlaubt");
     case 3:
          die("Datei nur teilweise hochgeladen");
     case 4:
          die("Keine Datei hochgeladen");
}

if($_FILES['uploadFile']['size'] <= 0) die("Ungültige Datei");

if($_FILES['uploadFile']['size'] > 100000)
     die("Bild zu groß - maximal 100 KB bitte<br />
          ( deins hat
" . round($_FILES['uploadFile']['size'] / 1000) . " KB )");


if($_FILES['uploadFile']['type'] != "image/jpeg")
     die("Datei ist kein gültiges Bild (nur JPEG zugelassen)");

$quelle = $_FILES['uploadFile']['tmp_name'];
$ziel = $_SERVER['DOCUMENT_ROOT'] . "/upload/bild.jpg";
     
if(!@copy($quelle, $ziel)) die("Fehler beim Speichern");

echo "Datei erfolgreich hochgeladen<br />
     <a target=\"_blank\" href=\"/upload/bild.jpg\">hier klicken</a><br />
     ( eventuell dort dann aktualisieren drücken )
";
?>
Datei:
FormularQuelltext anzeigen
<html>
     <form method="post" action="/script.php" enctype="multipart/form-data">
          Datei: <input type="file" name="uploadFile"><br />
          <input type="submit" name="absenden" value="Script starten">
     </form>
</html>
© 2004-2005 - Impressum