'.tar.gz, .tgz', 'application/x-zip-compressed' => '.zip', 'application/x-tar' => '.tar', 'text/plain' => '.html, .php, .txt, .inc (etc)', 'image/bmp' => '.bmp, .ico', 'image/gif' => '.gif', 'image/pjpeg' => '.jpg, .jpeg', 'image/jpeg' => '.jpg, .jpeg', 'image/png' => '.png', 'application/x-shockwave-flash' => '.swf', 'application/msword' => '.doc', 'application/vnd.ms-excel' => '.xls', 'application/octet-stream' => '.exe , .fla (etc)' ); $zugelassene_mimetypen = array('image/gif','image/pjpeg','image/jpeg','image/png'); // Validierung -------------------------------------------------------------------- $dateigroesse = $_FILES['datei']['size']; $dateityp = $_FILES['datei']['type']; $tmpdateiname = $_FILES['datei']['tmp_name']; $dateiname = $_FILES['datei']['name']; if ($_FILES['datei']['size']==0) { // Fehlermeldung, falls die Datei nichts enthaelt $meldung = 'Datei ist leer (max. '.($max_size / 1024).' KByte)'; } else if ($_FILES['datei']['size'] > $max_size) { // Fehler, falls die Dateigroesse die vorgegebene Maximal-Groesse ueberschreitet $meldung = 'Datei ist zu gross (max. '.($max_size / 1024).' KByte)'; } else if (!in_array($_FILES['datei']['type'], $zugelassene_mimetypen)) { // Fehler, falls die Datei keinem der vorgegebenen Typen entspricht $meldung = 'Falsches Datei-Format. Nur folgende Formate sind erlaubt:\n"; } else { // die Datei wird ausgemessen; // Breite und Hoehe kommen in die Variablen $breite und $hoehe $groesse = GetImageSize($_FILES['datei']['tmp_name']); $breite = $groesse[0]; $hoehe = $groesse[1]; if ($breite > $max_bildbreite || $hoehe > $max_bildhoehe) { // Fehler, falls die Datei zu breit oder zu hoch $meldung = 'Datei ist zu breit bzw. zu hoch (maximal '.$max_bildbreite.' x '.$max_bildhoehe.' Pixel)'; } if (!in_array($groesse['mime'], $zugelassene_mimetypen)) { // Fehler, falls mit GetImageSize() // ein nicht zugelassenen mime-type gefunden wird, // zB wenn 'abc.doc' umbenannt wurde zu 'abc.jpg' $meldung = 'Spoofed mime-type - so nicht mein Lieber !'; } } // Ende des Huerdenlaufs: Die Datei wird vom tmp-Verzeichnis // des Web-Servers ins Zielverzeichnis verschoben und benannt (z.B. 'php3E.tmp' zu 'demo.gif'). // Die Variable $ok wird auf true gesetzt und sorgt so spaeter // dafuer, dass das hochgeladene Bild auf der Seite angezeigt wird. if ($meldung == '') { move_uploaded_file($_FILES['datei']['tmp_name'], $pfad.$_FILES['datei']['name']); $meldung = 'Der Bild-Upload hat geklappt.'; $ok = true; } } ?> File-Upload mit PHP '.$meldung.'

'; echo '

Hier die Werte der 4 $_FILES[]-Variablen:

'; echo "\n
";
    print_r($_FILES);
    echo "
\n\n"; if (isset($groesse)) { echo '...und die Werte des Array $groesse (GetImageSize):'; echo "\n
";
        print_r($groesse);
        echo "
\n\n"; } } if ($ok) { echo '

'; } ?>

Bild-Datei auf den Server hochladen: