Bild-Upload funktioniert nicht

lll192837465lll

Erfahrenes Mitglied
Hallo Zusammen

Ich habe ein kleines Problemchen. Und zwar funktioniert mein Upload nicht!

Ich bekomme den Fehler "Notice: Array to string conversion in ....write.php on line 66"

Ich habe danach gegoogelt und herausgefunden, dass es irgendwie mit einem Array zusammenhängt, welches nicht richtig konvertiert wird (kann man auch aus dem Fehler lesen).

Nun ist es aber Lustig dass ich gar nie ein Array definiert habe:

PHP:
		$swf = $_POST['swf'];

		$bildpost = "das/ist/beispiel/pfad/";
		$bildpost = $bildpost . $swf . ".jpg";
		$target_path = "../imgnews/images/";
		$target_path = $target_path . basename($bildpost);

line66:
PHP:
move_uploaded_file($_FILES['bild'], $target_path);

Das mit dem Beispiel Pfad war ein Lösungsversuch von mir, der Fehler kommt aber immernoch. Aber Wenn ich dann die Variable ausgebe, stimmt es genau (der Pfad an welchen das File hochgeladen werden sollte).

Ich bin ratlos, ich übersehe doch sicher etwas oder ich habe irgendwas falsch strukturiert bzw. falsch in der Darstellung der Definition (der Variable)?

Vielen Dank und Gruss!
 
$_FILES['bild'] ist ein Array. Kannst Du es denn einfach mit echo ausgeben bzw. Laß es Dir mit var_dump anzeigen..

mfg chmee
 
Das nennt man Debugging oder Fehlersuche. Dabei gehen wir deinen Quellcode Zeile für Zeile durch und versuchen verschiedene Fehlerquellen auszuschließen. Dabei gibt man sich oft auf der Konsole (oder bei PHP eben auf der Webseite) verschiedene Variable aus, um sicherzustellen, dass sie den erwarteten Inhalt haben. Das ausgeben des Arrays soll sicherstellen, dass es auch den korrekten Inhalt hat und von move_uploaded_file() verarbeitet werden kann.
 
Mit var_dump ausgeben lassen, damit Du siehst, wie das Array $_FILES aufgebaut ist.
Kann es sein, dass Du $_FILES['bild']['tmp_name'] suchst ?
Wie es scheint ist $_FILES['bild'] ein Array, ergo "ein Array kann nicht als String ausgelesen werden".
Im Array steckt irgendwo Dein String. Zeig mal den dump..

mfg chmee
 
Ach so ist das! Danke!

Ich habe jetzt einmal am Ende des Scripts dies eingefügt:

PHP:
	var_dump ($bildpost,$target_path,$swf);

Nun wurde mir schlussendlich dies ausgegeben:

Notice: Array to string conversion in /home/www/web119/html/rm-design/agenda_write.php on line 66

string(34) "das/ist/beispiel/pfad/imgnews1.jpg" string(30) "../imgnews/images/imgnews1.jpg" string(8) "imgnews1"

Könnt Ihr mit dem was anfangen oder habe ich etwas falsch gemacht / vergessen?
Ich dachte irgendwie daran dass ich doch noch das File "dumpen" muss?

LG & THX
 
Eigentlich geht es mir/Dir doch um den Inhalt und den Aufbau von $_FILES, damit die richtige Variable angesprocheen wird.

mfg chmee
 
Die Ausgabe der Variablen ändert auch Nix an der Fehlermeldung. Aber Du siehst doch schon, dass in der Variable $_FILES['bild'] ein Array voller Variablen steckt und nicht nur eine Variable.

Die Ausgabe zeigt eindeutig, dass Du Deinen Wunsch-String per $_FILES['bild'][tmp_name] bekommst. Hab ich Dir aber oben schon geschrieben. Wenn das läuft, solltest Du Dich nochmal ransetzen, und das Prinzip der Arrays anschauen.

mfg chmee
 
Zurück