PHP Dateiupload - Erstellung des Formulars
Autor
Flitze
Klicks 195863
Keywords:
Dateiupload in PHP, Dateien über ein Formular hochladen, Dateien ohne FTP-Programm hochladen, Uploadprüfung,PHP Upload Script
Klicks 195863
Rating für PHP Dateiupload
8.4 von 10
Bewertungen50
Stand
12.06.2013
8.4 von 10
Bewertungen50
Keywords:
Dateiupload in PHP, Dateien über ein Formular hochladen, Dateien ohne FTP-Programm hochladen, Uploadprüfung,PHP Upload Script
Breadcrumb:
Tutorials » PHP Dateiupload » PHP Dateiupload - Erstellung des Formulars
[keywords]HTML Fomular, Dateiupload, Fileupload[keywords]
Bei dem Erstellen des Formulars muss darauf geachtet werden, das Attribut
enctype="multipart/form-data"
zu verwenden, da die Datei sonst nicht übertragen wird. Felder für den Dateiupload definiert man mit
<input type="file">
und zur späteren Auswertung der Datei muss noch ein name-Attribut gesetzt werden
<input type="file" name="Datei">
Wenn man nur Dateien bis zu einer bestimmten Größe zulassen möchte, dann sollte man noch folgendes hidden-Feld erstellen
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
Das value-Attribut enthält Dabei die maximale Dateigröße in Byte. In diesem Fall 2 MB
Hier ist der Code für ein Beispiel-Formular:
PHP:
Anmerkung:
Als action-Attribut habe ich $_SERVER['PHP_SELF'] verwendet. Diese Variable enthält den Pfad der aktuellen PHP Datei – Ich schicke das Formular also an die aufrufende Datei und überprüfe dort auch die Daten. Außerdem habe ich den Die Zahl 2097152 durch 2*1024*1024 ersetzt, denn 1024*1024 ist der Faktor um MB in Byte umzurechnen.
Zurück zur vorigen Seite:
PHP Dateiupload Weiter zur nächsten Seite:
PHP Dateiupload - Das $_FILES-Array
Step 1 – Erstellen des Formulars
[ADSENSE_LINE]Bei dem Erstellen des Formulars muss darauf geachtet werden, das Attribut
enctype="multipart/form-data"
zu verwenden, da die Datei sonst nicht übertragen wird. Felder für den Dateiupload definiert man mit
<input type="file">
und zur späteren Auswertung der Datei muss noch ein name-Attribut gesetzt werden
<input type="file" name="Datei">
Wenn man nur Dateien bis zu einer bestimmten Größe zulassen möchte, dann sollte man noch folgendes hidden-Feld erstellen
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
Das value-Attribut enthält Dabei die maximale Dateigröße in Byte. In diesem Fall 2 MB
Hier ist der Code für ein Beispiel-Formular:
PHP:
<?php
error_reporting(E_ALL);
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \n".
"\"http://www.w3.org/TR/html4/strict.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo " <title>Datei-Upload</title>\n";
echo "</head>\n";
echo "<body>\n";
echo " <form ".
"action=\"".$_SERVER['PHP_SELF']."\" ".
"method=\"post\" ".
"enctype=\"multipart/form-data\">\n";
echo " <label for=\"Datei\">Datei auswählen</label>\n";
echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".(2*1024*1024)."\" />\n";
echo " <input type=\"file\" name=\"Datei\" id=\"Datei\" />\n";
echo " <input type=\"submit\" name=\"submit\" value=\"Upload\" />\n";
echo " </form>\n";
echo "</body>\n";
echo "</html>\n";
?>
Anmerkung:
Als action-Attribut habe ich $_SERVER['PHP_SELF'] verwendet. Diese Variable enthält den Pfad der aktuellen PHP Datei – Ich schicke das Formular also an die aufrufende Datei und überprüfe dort auch die Daten. Außerdem habe ich den Die Zahl 2097152 durch 2*1024*1024 ersetzt, denn 1024*1024 ist der Faktor um MB in Byte umzurechnen.
Zurück zur vorigen Seite:
PHP Dateiupload Weiter zur nächsten Seite:
PHP Dateiupload - Das $_FILES-Array