Matthias Jütte: Dateiupload: $_FILES bleibt leer

Hallo zusammen!

Ich versuche mich derzeit an einem Dateiupload. Das habe ich auch schonmal
hinbekommen, nur will zur Zeit gar nichts klappen.

Schicke ich das Formular ab enthält $_FILES keinerlei Werte. Ich habe das jetzt schon lokal und auf einem Webserver probiert und die Daten auch an eine zweites Skript senden lassen, nix.

Da ich absolut keine Idee habe, was ich falsch machen könnte, möchte ich mal wieder um Hilfe betteln. Sieht im folgenden Code vielleicht jemand einen (den) Fehler?

*****
form.php
*****

if (isset($_POST['submit'])) {

print_r($_FILES);

/*
    if(isset($_FILES['userfile']['tmp_name'])) {
        echo $_FILES['userfile']['tmp_name'];
    } else {
        echo "Variable hat keinen Wert.";
    }
    */

} else {

echo"<form action=".$_SERVER['PHP_SELF'].""" method="post">

<input type="hidden" name="MAX_FILE_SIZE" value="2048000" />
    <label for="userfile">Datei (max. 2 MB):</label><input name="userfile" type="file" enctype="multipart/form-data" />

Was soll mit den Datens&auml;tzen geschehen?<br>
    <input type="radio" name="read_type" value=0 />Zur Themenliste hinzuf&uuml;gen<br>
    <input type="radio" name="read_type" value=1 />Themenliste ersetzen

<button type="submit" name="submit" value="batch">Datei importieren</button>

</form>";
}

Danke und Gruß

Matthias

--
ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
  1. Hi,

    enctype="multipart/form-data"

    gehört in den <form>-Tag. Dann sollte es funktionieren.

    1. enctype="multipart/form-data"

      gehört in den <form>-Tag. Dann sollte es funktionieren.

      AAAAAARRRRRRRRGHHHHH!!!

      So steht es auch in Beispiel in der PHP-Doku, wo ich ja eigentlich glaubte alles korrekt abgekupfert zu haben. Aber zum Glück sehen die berühmten vier Augen immer noch besser als die zwei. Sonst hätte ich mich bestimmt noch Stunden damit beschäftigt.

      Vielen Dank, nu klappt's!

      Gruß

      Matthias

      --
      ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
      http://www.makaio.de/quotations
      1. Hello,

        Vielen Dank, nu klappt's!

        Nun wirst Du es voraussichtlich auch so schnell nicht mehr vergessen.
        Und wenn Du Dir dann auch noch die Schreibweise merkst (vorne ohne hinten mit Bindstrich), dann werden Deine Formulare demnächst immer mit PHP harnonieren.

        Es ist übrigens nicht übermäßig schädlich, diesen encryption type bei PHP immer einzusetzen.

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

        Tom

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

    echo"<form action=".$_SERVER['PHP_SELF'].""" method="post">

    Darin steckt der Fehler, zumindest bei PHP als Empfänger...

    PHP kann nur enctype="multipart/form-data" verarbeiten.
    Und das hast Du vergessen.

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

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
  3. Hi Matthias,

    echo "<form action=".$_SERVER['PHP_SELF'].""" method="post">

    Bei dem Script bekomme ich erst mal einen Parse Error, da vor .$_SERVER['PHP_SELF'] ein " fehlt, und dafür danach ein " zuviel ist.

    Damit der Upload funktioniert, musst du das enctype="multipart/form-data" im <form> Tag unterbringen und nicht im <input type="file"> Tag.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
    Das Leben ist kein Warenhaus - es nimmt nichts zurück. (Anette Louisan)
    1. Hallo Dennis!

      Bei dem Script bekomme ich erst mal einen Parse Error, da vor .$_SERVER['PHP_SELF'] ein " fehlt, und dafür danach ein " zuviel ist.

      Liegt daran, daß ich das vor dem Posten nochmal geändert habe, da noch der Name der zweiten Datei drinstand.

      Damit der Upload funktioniert, musst du das enctype="multipart/form-data" im <form> Tag unterbringen und nicht im <input type="file"> Tag.

      Siehe Antwort an Manuel...

      Gruß

      Matthias

      --
      ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
      http://www.makaio.de/quotations