Vetinari: dateiupload per formular

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>&nbsp;</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

  1. 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

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    1. Danke, jetzt hat es super funktioniert!

      Gruss, Martin