Sven Rautenberg: dateiupload per php will nicht so recht...???

Beitrag lesen

Moin!

Probleme habe ich mit dem nachträglichen ändern des bildes..

wenn das dateifeld in dem formular leer ist,
wird es ignoriert, andernfalls soll das bild hochgeldaen werden und dessen dateiname wird in eine DB geschrieben.

nun bekomme ich eine komische fehlermeldung:

Warning: getimagesize: Unable to open '' for reading. in /is/htdocs/29799/www.baseball-cheerleading.de/Sites/admin/admin_steckbriefe/steckbrief_update.php on line 32

Die Fehlermeldung deutet darauf hin, daß das Script auf einem Unix-Server läuft - vermutlich auf deinem Webspace. Deshalb kann die Angabe

wenn ich mit mit echo mal ansehe, welchen wert $bild hat, bekomme ich bspw. folgendes: E:\TEST\earth2.jpg
wiso soll dieses bild nicht gelesen werden können?

natürlich nicht stimmen, denn Unix kennt keinen Laufwerksbuchstaben "E:" (es kennt überhaupt keine Laufwerksbuchstaben!), und es kennt auch keine Backslashes zur Trennung der Verzeichnisse.

Summa summarum: Du greifst hier vermutlich auf den falschen Dateinamen zu. Üblicherweise benötigst du den Namen der temporären hochgeladenen Datei, um diese dann an die gewünschte Stelle zu kopieren/bewegen und ihr einen ordentlichen Namen zu geben.

Lies einfach nochmal die Doku zu Dateiuploads mit PHP, und welche Informationen in welchen Variablen drinstehen. Nutze dazu vielleicht auch einfach die Funktion php_info(INFO_VARIABLES); um dir die vom Formular gesendetet Daten ausgeben zu lassen. Die Dateiuploads landen in einem gesonderten Hash $HTTP_POST_FILES, und nicht in $HTTP_POST_VARS. Ich würde im Zweifel lieber auf dieses Hash zugreifen, oder noch besser auf $_FILES (schau, ob dein PHP diese neue Variable schon kann (ab Version 4.1 wurde sie zusätzlich eingeführt, irgendwann bei Version 5 wird die alte Variable nicht mehr funktionieren!)).

http://www.php.net/manual/de/features.file-upload.php

- Sven Rautenberg