bjoern: multipart/formdata und file felder

hallo zusammen!

ich habe ein formular "bild" (multipart/formdata), dass eine .jpg datei über das input-file eingabefeld "image" hochlädt.

nun habe ich auf meinem server eine neuere version von php bei der ich angeben muss woher ich die variablen in einer phpdatei bekomme ($_POST['xyz'],$_GET['xyz'],$_SESSION['xyz']).

wenn ich nun das formular an die datei sende_bild.php übergebe werte ich alle felder wie gewohnt aus ($_POST['blabla'];)

beim input-file feld klappt dies aber nicht (egal ob mit $_POST['image']; oder nicht). wie muss ich hier vorgehen?

bjoern

  1. Hi!
    Da gibt's auch eine Variable:
    $_FILES (Array)
    Schick einfach mal das Formular an eine PHP-Datei, die diese Variable per

    print_r($_FILES);

    rekursiv ausgibt.
    Siehe auch:
    http://www.php.net/manual/de/features.file-upload.php

    cu

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    SELFCode: ss:| zu:) ls:< fo:# de:> va:} ch:? sh:) n4:( rl:? br:^ js:( ie:% fl:( mo:)
    http://emmanuel.dammerer.at/selfcode.html
    1. ok, schonmal danke.

      wenn ich nun das bild aus dem temporären zwischenspeicher dauerhasft speichern will, müsste dass doch so gehen:

      $bild="/cms/gyher/bild.gif";
      copy ($_FILES['image']['tmp_name'], $bild);

      wieso funktioniert dass nicht???

      bjoern

      1. $bild="/cms/gyher/bild.gif";
        copy ($_FILES['image']['tmp_name'], $bild);

        wieso funktioniert dass nicht???

        noch ein nachtrag, er spuckt folgende fehlermeldung aus:

        Warning: copy(uploaded_pics/k2vLZL29SVYvbSM1DMu.gif): failed to open stream: Permission denied in /disk/bionet/ad0s1g/bionet/gyher/www/cms/system_dateien/upload_image.php on line 32

        habe ich vom serveradministratoren nicht die benötigten rechte zum fileupload? was muss geändert werden?

        bjoern

        1. Hi!

          Probier mal move_uploaded_file() - das schließt auch Fehlerquellen mit aus...
          WENN das dein temporärer Speicher für hochgeladene Dateien ist ja, ich bezweifle es aber.

          cu

          Marc Reichelt || http://www.marcreichelt.de/

          --
          Linux is like a wigwam - no windows, no gates and an Apache inside!
          SELFCode: ss:| zu:) ls:< fo:# de:> va:} ch:? sh:) n4:( rl:? br:^ js:( ie:% fl:( mo:)
          http://emmanuel.dammerer.at/selfcode.html
        2. Hello,

          $bild="/cms/gyher/bild.gif";
          copy ($_FILES['image']['tmp_name'], $bild);

          wieso funktioniert dass nicht???

          noch ein nachtrag, er spuckt folgende fehlermeldung aus:

          Warning: copy(uploaded_pics/k2vLZL29SVYvbSM1DMu.gif): failed to open stream: Permission denied in /disk/bionet/ad0s1g/bionet/gyher/www/cms/system_dateien/upload_image.php on line 32

          Wer hat denn Das Zielverzeichnis angelegt? Ist es überhaupt schon vorhanden?
          Hat der PHP-Deamon darin Nutzungs-(x) und Schreibrechte(w)?
          Du gibst einen absoluten Pfad, also ab Wurzelverzeichnis an in $bild. meintest Du vielleicht "cms/gyher/bild.gif" und nicht "/cms/gyher/bild.gif" ?

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
  2. Hello,

    ich habe ein formular "bild" (multipart/formdata), dass eine .jpg datei über das input-file eingabefeld "image" hochlädt.

    Der Typ lautet "multipart/form-data" und wird auch meistens nicht erkannt, wenn man den Bindestrich weglässt.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau