Andreas: INPUT TYPE=\"FILE\" funzt net so wies soll

Hallo,
folgender Code in einer Test-Datei:

<?php
print "<FORM ACTION="myProfil.php" METHOD="POST">\n";
print "<INPUT TYPE="FILE" NAME="form_avatar" SIZE="40"><BR>\n";
print "<INPUT TYPE="SUBMIT" name="action" VALUE="OK">\n";
print "</Form>\n";

if ( $HTTP_POST_VARS['action'] == "OK" ){
print $form_avatar;
}
?>

Sieht eigentlich ganz einfach aus, aber funzt nicht.
Das Ergebnis von $form_avatar ist nicht c:\eigene Dateien... sondern c:\eigene Dateien\... also jeder Schrägstrich doppelt.

Folglich liefert mir $pic_props = @getimagesize($form_avatar); auch nicht die richtigen Ergebnisse.
Unten habe ich den Link auf die Testdatei.

Woran liegt das, und wie kann man das beheben?

Gruß Andreas

  1. Holladiewaldfee,

    Das Ergebnis von $form_avatar ist nicht c:\eigene Dateien... sondern c:\eigene Dateien\... also jeder Schrägstrich doppelt.

    Suche nach magic_qoutes_gpc in der PHP-Referenz.
    Die Funktion strip_slashes() behebt den Schaden.

    Ciao,

    Harry

    --
      Intelligenz ist nicht zwingend etwas positives.
      Man weiß erst, was man hatte, wenn man es verloren hat.
    1. Hallo,
      das hat zwar gefunzt, aber mein Problem ist immer noch nicht gelöst:

      <?php
      print "<FORM ACTION="myProfil.php" METHOD="POST">\n";
      print "<INPUT TYPE="FILE" NAME="form_avatar" SIZE="40"><BR>\n";
      print "<INPUT TYPE="SUBMIT" name="action" VALUE="OK">\n";
      print "</Form>\n";

      if ( $HTTP_POST_VARS['action'] == "OK" ){
      $pic_props = getimagesize(stripslashes($form_avatar));
      print stripslashes($form_avatar);
      print $pic_probs[2];
      }
      ?>

      $pic_probs[2] liefert überhaupt nichts zurück, obwohl die gewählte Grafikdatei eine .jpg Datei ist.

      Wo liegt mein Fehler?
      Gruß Andreas

      1. hi,

        if ( $HTTP_POST_VARS['action'] == "OK" ){
        $pic_props = getimagesize(stripslashes($form_avatar));

        warum versuchst du auf die eine POST-variable (action) mit $HTTP_POST_VARS zuzugreifen, auf die andere (form_avatar) jedoch direkt?

        gruss,
        wahsaga

        1. Hallo,

          warum versuchst du auf die eine POST-variable (action) mit $HTTP_POST_VARS zuzugreifen, auf die andere (form_avatar) jedoch direkt?

          Denn sie wissen nicht was sie tun.
          Ich bin halt noch was PHP angeht ein totaler Anfänger.
          Deshalb bitte einen Lösungsvorschlag.
          Gruß Andreas

          1. hi,

            Denn sie wissen nicht was sie tun.
            Ich bin halt noch was PHP angeht ein totaler Anfänger.
            Deshalb bitte einen Lösungsvorschlag.

            na der steckt in meiner frage doch eigentlich schon drin.

            wenn du hier:
            if ( $HTTP_POST_VARS['action'] == "OK" ){
            auf einen per post übergebenen wert mit $HTTP_POST_VARS[] zugreifst (und dies funktioniert), solltest du das hier
            $pic_props = getimagesize(stripslashes($form_avatar));
            sowie an allen weiteren stellen ebenfalls so machen.

            gruss,
            wahsaga