Steffen: File upload

Hallo,

ich will über ein Formular Dateien auf meinen Webserver laden. Wenn ich das Formular abschicke und per ftp verschieben will, bekomm ich immer eine Felhermeldung, dass die Datei nicht vorhanden ist. Habe mir mal das Temporäre Verzeichniss angeschaut, in das die Dateien geladen werden sollten. Dieses ist aber immer leer. Berechtigungsprobleme können es nicht sein. Kann per normalen FTP CLient Datein in das Verzeichnis laden. Wenn ich mir über var_dump($_FILES[bild]) das Array ausgeben lasse bekomm ich folgende Meldung.
array(5) { ["name"]=> string(9) "augen.jpg" ["type"]=> string(11) "image/pjpeg" ["tmp_name"]=> string(22) "/srv/www/tmp/phpwx4tzR" ["error"]=> int(0) ["size"]=> int(4876) }

Aber die Datei wurde nicht hochgeladen. In der Form habe ich enctype=multipart/form-data stehen.

Kann mir jemand sagen, was ich noch Probieren könnte?

Danke
Steffen

  1. Hallo!

    array(5) { ["name"]=> string(9) "augen.jpg" ["type"]=> string(11) "image/pjpeg" ["tmp_name"]=> string(22) "/srv/www/tmp/phpwx4tzR" ["error"]=> int(0) ["size"]=> int(4876) }

    Die Datei wird aber nur temporär hochgeladen und wird nach dem Ende des Skripts wieder gelöscht. Du musst die Datei im Skript verschieben. Dazu bietet sich die Funktion move_uploaded_file an.

    mfg
      frafu

  2. Hallo

    ich will über ein Formular Dateien auf meinen Webserver laden. Wenn ich das Formular abschicke und per ftp verschieben will, bekomm ich immer eine Felhermeldung, dass die Datei nicht vorhanden ist.

    Mit welcher Anweisung möchtest Du dies tun?

    Wenn ich mir über var_dump($_FILES[bild]) das Array ausgeben lasse bekomm ich folgende Meldung.
    array(5) { ["name"]=> string(9) "augen.jpg" ["type"]=> string(11) "image/pjpeg" ["tmp_name"]=> string(22) "/srv/www/tmp/phpwx4tzR" ["error"]=> int(0) ["size"]=> int(4876) }
    Aber die Datei wurde nicht hochgeladen.

    Wieso nicht? Selbstverständlich wurde sie hochgeladen. Der Dateiname, unter dem Du derzeit darauf zugreifen kannst, steht doch da:

    ["tmp_name"]=> string(22) "/srv/www/tmp/phpwx4tzR"

    Ja, die Datei heißt im Moment _nicht_ "augen.jpg". Deswegen kannst Du zu diesem Zeitpunkt keine Datei "augen.jpg" per ftp weiterverarbeiten.

    Das Handbuchkapitel Steuerung von Dateiuploads erklärt wunderbar, wie ein Upload funktioniert und auf was zu achten ist.

    Freundliche Grüße

    Vinzenz