Dateien mit PHP Hochladen

Das Forumlar

Mit diesem Formular können die Dateien ausgewählt werden.

<form enctype="multipart/form-data" action="upload.php" method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="100000">

Wählen Sie eine Datei die hochgeladen werden soll: <input name="userfile" type="file">

<input type="submit" value="Upload Datei">

</form>


Das versteckte Feld MAX_FILE_SIZE beinhaltet die Maximale Größe der Datei. Es kann nicht größer sein als 2 MB (Standart). Damit der Gast es nicht ändern kann, ist es versteckt.

Mit Dateien umgehen

PHP speichert alle Informationen der datei in dem $_FILES Array.
$_FILES['userfile']['name']

Das ist der Orginalname der Datei.
$_FILES['userfile']['type']

Der MIME Typ (z.B. Gif) wird hier gespeichert.
$_FILES['userfile']['size']

Die Größe in Bytes.
$_FILES['userfile']['tmp_name']

Der Name, wie die Datei auf dem Server heiÃ?t.
$_FILES['userfile']['error']

Gibt den Fehler an. ['error'] gibt es erst ab PHP 4.2.0.

Die Dateien werden in einem TMP Ordner des Webspaces zwischengespeichert, wenn Sie es permanent Speichern wollen, dann müssen sie move_uploaded_file() benutzen.

PHP Code

Hier ist der Code wie ein Upload aussehen kann:
<?php

$uploadDir = '/var/www/uploads/';

$uploadFile = $uploadDir . $_FILES['userfile']['name'];

print "<pre>";

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile))

{ print "Datei ist in Ordnung und Sie wurde erfolgreich hochgeladen.";

print "Hier sind die Fehler informationen:

";

print_r($_FILES);

}

else

{

print "Es wurde ein Fehler gemeldet!

Hier sind die Fehler informationen:

";

print_r($_FILES);

}

print "</pre>";

?>