Home

Dateiuploads mit PHP

Dienstag, 1. Mai 2007 | Autor: Pr0g

Dieser Artikel erklärt wie man mit Hilfe eines Formulars und PHP eine Datei auf einen Server hochläd und dort speichert.

Vorbereitungen

Zuerst wird eine neue PHP Datei namens “upload.php” in einem beliebigen Verzeichnis angelegt. In diese Datei wird später der HTML Code für das Uploadformular und der PHP Code zum Verarbeiten der hochgeladenen Datei gespeichert. Nun muss noch ein Ordner angelegt werden in dem die Dateien gespeichert werden, dieser könnte den Namen “dateien” tragen.

Das Uploadformular

Als erstes wird ein Formular benötigt in dem der Benutzer eine Datei für den Upload auswählen und dann den Upload starten kann. Das Formular beginnt wie folgt:

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

Über das Attribut action des form-Tags wird angegeben an welche Datei die Daten des Formulars gesendet werden sollen. Da wir alle Daten in der selben Datei verarbeiten, werden diese an die “upload.php” gesendet.

Mit method wird die Art der Übertragung angegeben. Da eine Datei gesendet werden soll muss hier als Typ post angegeben werden, damit die Daten direkt in einer POST-Anfrage an den Webserver gesendet werden. Als zweiter Typ könnte dort get angegeben werden, wodurch die Daten an die URL angehangen werden. Dies ist jedoch nur bei Texten möglich und nicht mit Dateien.

Anders als in den meisten Fällen wo nur Texte durch ein Formular verschickt werden ist es bei Dateien nötig noch ein enctype Attribut mit dem Wert multipart/form-data anzugeben. Dies veranlasst den Browser dazu die Datei als Daten zu senden. Würde man das Attribut weglassen, so überträgt der Browser lediglich den Dateinamen, nicht jedoch die eigentlichen Daten.

Seiten: 1 2 3 4 5 6 7 8

Tags » , , «

Trackback: Trackback-URL | Feed zum Beitrag: RSS 2.0
Thema: Artikel

Diesen Beitrag kommentieren.

Kommentar abgeben


Warning: stristr() [function.stristr]: Empty delimiter in /is/htdocs/wp1017081_BHJX0SUJYV/pr0g_blog/wp-content/plugins/wassup/wassup.php on line 2093