dateiupload per formular
Vetinari
- php
hallo,
habe immer mal wieder probleme mit dem upload von dateien per formular. anscheinend hat das auch mit der server-konfiguration zu tun. momentan bearbeite ich gerade eine website wo register_globals beim provider auf "off" gesetzt wurde.
der gesamte code befindet sich in einer datei (admin.php) und zur auswertung ruft das formular eine eigene function (savechange($id)) auf.
das formular sieht so aus:
echo "<table><form enctype="multipart/form-data" method="post" action="admin.php?op=savechange&id=$id">"
. "<tr><td>Bild: </td><td><input type="file" name="image" size="35"></td></tr>"
. "<tr><td> </td><td><input type="submit" value="Speichern"></tr></form></tr></table>";
die auswertung sieht so aus:
$image = $_POST['image'];
echo "Bildname: ".$image; // test
mysql_query("update table set bild='$image_name' where id='$id'");
if ($image != "") {
echo "<blockquote>Bildname: $image_name<br>";
echo "Bildgroesse: $image_size</blockquote>";
if (copy ($image, "images/$image_name"))
{
echo "<blockquote>Das Bild wurde erfolgreich hochgeladen!</blockquote><br><br>";
} else {
echo "<blockquote>Bild konnte nicht hochgeladen werden.</blockquote><br><br>";
}
unlink ($image);
aus irgendeinem grund bleibt aber die variable $image immer leer. alle anderen formulardaten (type=text) werden problemlos übertragen und in der datenbank gespeichert.
gruss, martin
Moin
$image = $_POST['image'];
Dateien werden nicht in das $_POST-Array gespeichert, sondern sind über das $_FILES-Array aufrufbar.
z.B. $image_name= $_FILES['image']['name']
siehe dazu auch: http://www.php.net/features.file-upload
Gruß Bobby
Danke, jetzt hat es super funktioniert!
Gruss, Martin