Dateiupload: $_FILES bleibt leer
Matthias Jütte
- php
1 Manuel B.0 Matthias Jütte0 Tom
0 Tom0 Dennis
Hallo zusammen!
Ich versuche mich derzeit an einem Dateiupload. Das habe ich auch schonmal
hinbekommen, nur will zur Zeit gar nichts klappen.
Schicke ich das Formular ab enthält $_FILES keinerlei Werte. Ich habe das jetzt schon lokal und auf einem Webserver probiert und die Daten auch an eine zweites Skript senden lassen, nix.
Da ich absolut keine Idee habe, was ich falsch machen könnte, möchte ich mal wieder um Hilfe betteln. Sieht im folgenden Code vielleicht jemand einen (den) Fehler?
*****
form.php
*****
if (isset($_POST['submit'])) {
print_r($_FILES);
/*
if(isset($_FILES['userfile']['tmp_name'])) {
echo $_FILES['userfile']['tmp_name'];
} else {
echo "Variable hat keinen Wert.";
}
*/
} else {
echo"<form action=".$_SERVER['PHP_SELF'].""" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="2048000" />
<label for="userfile">Datei (max. 2 MB):</label><input name="userfile" type="file" enctype="multipart/form-data" />
Was soll mit den Datensätzen geschehen?<br>
<input type="radio" name="read_type" value=0 />Zur Themenliste hinzufügen<br>
<input type="radio" name="read_type" value=1 />Themenliste ersetzen
<button type="submit" name="submit" value="batch">Datei importieren</button>
</form>";
}
Danke und Gruß
Matthias
Hi,
enctype="multipart/form-data"
gehört in den <form>-Tag. Dann sollte es funktionieren.
enctype="multipart/form-data"
gehört in den <form>-Tag. Dann sollte es funktionieren.
AAAAAARRRRRRRRGHHHHH!!!
So steht es auch in Beispiel in der PHP-Doku, wo ich ja eigentlich glaubte alles korrekt abgekupfert zu haben. Aber zum Glück sehen die berühmten vier Augen immer noch besser als die zwei. Sonst hätte ich mich bestimmt noch Stunden damit beschäftigt.
Vielen Dank, nu klappt's!
Gruß
Matthias
Hello,
Vielen Dank, nu klappt's!
Nun wirst Du es voraussichtlich auch so schnell nicht mehr vergessen.
Und wenn Du Dir dann auch noch die Schreibweise merkst (vorne ohne hinten mit Bindstrich), dann werden Deine Formulare demnächst immer mit PHP harnonieren.
Es ist übrigens nicht übermäßig schädlich, diesen encryption type bei PHP immer einzusetzen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
echo"<form action=".$_SERVER['PHP_SELF'].""" method="post">
Darin steckt der Fehler, zumindest bei PHP als Empfänger...
PHP kann nur enctype="multipart/form-data" verarbeiten.
Und das hast Du vergessen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi Matthias,
echo "<form action=".$_SERVER['PHP_SELF'].""" method="post">
Bei dem Script bekomme ich erst mal einen Parse Error, da vor .$_SERVER['PHP_SELF'] ein " fehlt, und dafür danach ein " zuviel ist.
Damit der Upload funktioniert, musst du das enctype="multipart/form-data" im <form> Tag unterbringen und nicht im <input type="file"> Tag.
MfG, Dennis.
Hallo Dennis!
Bei dem Script bekomme ich erst mal einen Parse Error, da vor .$_SERVER['PHP_SELF'] ein " fehlt, und dafür danach ein " zuviel ist.
Liegt daran, daß ich das vor dem Posten nochmal geändert habe, da noch der Name der zweiten Datei drinstand.
Damit der Upload funktioniert, musst du das enctype="multipart/form-data" im <form> Tag unterbringen und nicht im <input type="file"> Tag.
Siehe Antwort an Manuel...
Gruß
Matthias