File-upload funktioniert nicht 'undefined index'

Hallo zusammen,

ich versuche ein paar Bilder über ein Formular auf einen webspace zu laden.

Im Prinzip nicht all zu kompliziert. Allerdings gibt mir php immer die Fehlermeldug aus, dass das index „big_image“ nicht definiert sei.

Hier mal meine snippets:

[…]

[…]

if(isset($_POST[‚big_image‘]) and $_POST[‚big_image‘] != „“) //se foi escolhido uma imagem grande
{
$uploaddir = ‚…/img/haeuser/‘.$id.’/’;
$uploadfile = $uploaddir.„1.jpg“;
if(move_uploaded_file($_FILES[‚big_image‘][‚tmp_name‘], $uploadfile))
{echo „done“;}
}

Kann mir jemand kurz mal sagen, woran das liegt??

Meine FUnktion zum abspeichern liegt in einem Skript, das korrekt angesprochen wird. „echo $uploadfile;“ liefert auch den korrekten Pfad zurück…

(Mir ist klar, dass das Skript so ein Einfallstor für alle mögliche Schadsoftware ist. Die Sicherheit baue ich später ein…

mfg,
David

Hi,

Allerdings gibt mir php
immer die Fehlermeldug aus, dass das index „big_image“ nicht
definiert sei.

diesen index findest Du auch nicht im $_POST-Array. Frage einfach !empty($_FILES) ab, wenn Du keinen Submit-Button nutzt.

Gruß
Ingo

Hi,

sorry, das verstehe ich nicht!

echo $_POST[‚big_image‘] liefert den Dateinamen der ausgewählten Datei zurück. Der Index existiert dort also.

Das $_FILE-Array ist leer. Unabhängig davon, ob ich den Index „big_image“ abfrage, oder nicht.

Gibt es weitere Ideen??

Viele Grüße,
David

diesen index findest Du auch nicht im $_POST-Array. Frage
einfach !empty($_FILES) ab, wenn Du keinen Submit-Button
nutzt.

EDIT vorheriger Antwort:

Ich hatte in meinem -Element kein „enctype=„multipart/form-data““ stehen.

Nachdem ich es hinzugefügt habe, funktioniert es. Nun kann ich aber tatsächlich nicht mehr auf $_POST[‚big_image‘] zugreifen.

Woran liegt das denn nun?

mfg,
David

Hi,

echo $_POST[‚big_image‘] liefert den Dateinamen der
ausgewählten Datei zurück.

das kann eigentlich nicht sein. Aber poste doch mal den kompletten Code.

Gruß
Ingo

Wie gesagt,
ich hatte enctype=„multipart/form-data“ im -tag vergessen.

Ohne diesen Zusatz konnte ich auf $_POST[‚big_imge‘] zugreifen. Mit dem Zusatz dann nicht mehr. Dafür kann ich dann ganz normal mit dem $_FILE-Array spielen und das Problem ist behoben.

mfg,
David

Moin,

Ich hatte in meinem -Element kein
„enctype=„multipart/form-data““ stehen.

Ja, das war der entscheidende Fehler. Auch die Änderung, die das verursacht, dass der Filename in $_FILES steht und nicht in $_POST.

Nachdem ich es hinzugefügt habe, funktioniert es. Nun kann ich
aber tatsächlich nicht mehr auf $_POST[‚big_image‘] zugreifen.

Woran liegt das denn nun?

Daran, dass es sich nicht mehr um ein Eingabefeld handelt, sondern um eine hochgeladene Datei, zu der die Informationen in $_FILES abgelegt sind.

Liebe Grüße,
-Efchen