Hey,
Des geht schon

. Es geht halt nur bis zu einer bestimmten Größe, die hängt vom Provider des Webspaces ab. Aber ansonsten gehts ganz gut

.
Als zunächst musst du deinem Formular noch ein
|
Source code
|
1
2
3
|
enctype="multipart/form-data"
z.B. so:
<form enctype="multipart/form-data" action="_URL_" method="post">
|
mitgeben. Das ist damit der Browser weiß des da mehrere Teile mitgeschickt werden. Einmal die Formulardaten und einmal eine Datei.
Dann musst du in deinem Forumlar noch ein hidden Input machen mit dem du die max. Grösse bestimmen kannst (geht nicht grösser als der Provider dies für PHP definiert hat). Der Name MUSS MAX_FILE_SIZE sein! Und die Value legt die max. Grösse in Byte fest.
|
Source code
|
1
|
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
|
Und dann brauchst du natürlich auch noch ein Input für die Datei ansich.
Das input muss vom type="file" sein siehe:
|
Source code
|
1
|
<input name="userfile" type="file">
|
beachte bitte den Namen "userfile" der wird nachher noch auftauchen und den kannst du selber setzen. Muss aber dann überall da, wo hier userfile steht, so heissen wie du das Input genannt hast.
Das war der Forumlar teil. Jetzt zum PHP Teil.
In deinem PHP Script hast du dann, wenn eine Datei hochgeladen wurde ein Array mit Daten zu der Datei zur Verfügung.
$_FILES
Am besten einfach überprüfen ob es einmal gesetzt ist, ein Array ist und die Anzahl der Einträg in dem Array grösser 0 sind.
Also so:
|
PHP Source code
|
1
2
3
4
5
6
7
8
|
if(
isset($_FILES) // überprüfen ob gesetzt
&& is_array($_FILES) // und ( && ) überprüfen ob es ein Array ist
&& count($_FILES) > 0 // und überprüfen ob die Anzahl grösser 0
) {
// Es wurde eine Datei hochgeladen also diese Datei bearbeiten.
}
|
Um mit der Datei arbeiten zu können, musst du sie erstmal an einen sicheren Ort legen, da sie nach dem Upload erst mal in ein Tempverzeichnis geladen wurde. Dies kannst du mit "move_uploaded_file" machen.
|
PHP Source code
|
1
|
move_uploaded_file($_FILES['userfile']['tmp_name'], "/mein/eigenes/upload/verzeichnis/" . $_FILES['userfile']['name']);
|
Das $_FILES Array schaut folgender Maßen aus:
Original von PHP.Net:
Der ursprüngliche Dateiname auf der Client Maschine.
$_FILES['userfile']['name']
Der Mime-Type der Datei, falls der Browser diese Information zur Verfügung gestellt hat. Ein Beispiel wäre "image/gif".
$_FILES['userfile']['type']
Die Größe der hochgeladenen Datei in Bytes.
$_FILES['userfile']['size']
Der temporäre Dateiname, unter dem die hochgeladene Datei auf dem Server gespeichert wurde.
$_FILES['userfile']['tmp_name']
Der Fehlercode im Zusammenhang mit dem hochladen der Datei. ['error'] wurde in PHP 4.2.0 eingeführt.
$_FILES['userfile']['error']
So und was du dann weiter mit deiner Datei machst ist dann ein anderes Thema
So noch ein paar Docu angaben

:
Nochmal eine Beschreibung für das was ich gerade beschrieben habe, nur ausführlicher
Move_Uploaded_File Funktionsbeschreibung
Hoffe ich konnte dir helfen! Und bei weitern Fragen, frag!
Ciao Ephraim