axeff: $_FILES upload funktioniert nicht

N'abend leutz,

ich fuchtel hier schon seit Stunden an der simplen Problematik rum, einen einfachen datei-upload zu realisieren.

Ich hab auch schon jede Menge Foren und Dergleichen durchforstet, aber ich raffs einfach nich.

also post ich mal meine Gedanken und das, was bei mir rauskommt:

das form tag:

<form enctype="multipart/form-data" action="upload.php" method="post">
 <input type="hidden" name="MAX_FILE_SIZE" value="40000">
 <input type="hidden" name="dir" value="<?=$_GET['dir']?>" id="dir">
 <input type="file" name="files" >
 <p><input type="submit" value="Continue &rarr;"></p>
</form>

und der php-teil der dies auffängt:

if ($_POST) {
 error_reporting(E_ALL);
 ini_set('display_errors', 'on');
 print_r($_FILES);

}

ich erhalte immer nur das als output:

Array
(
    [files] => Array
        (
            [name] => Makonde Mask.gif
            [type] =>
            [tmp_name] =>
            [error] => 6
            [size] => 0
        )

)

was mach ich da falsch?

  1. Hi,

    was mach ich da falsch?

    Du schaust nicht in der Dokumentation nach.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      was mach ich da falsch?

      Du schaust nicht in der Dokumentation nach.

      Cheatah

      Erstma danke.
      Das ist mir entgangen. Hab ne scheinbar zu alte Liste gefunden, die allerdings bei error code 4 aufgehört hat.

      Da ich error => 6 krieg liegts also am temporären verzeichnis.
      Wo kann ich dieses festlegen? In der php.ini?

      da hab ich ein
      ;upload_tmp_dir =
      gefunden und auf /Users/axeff/Sites gesetzt.

      Geht trotzdem nicht

      1. Hi,

        da hab ich ein
        ;upload_tmp_dir =
        gefunden und auf /Users/axeff/Sites gesetzt.

        Auf was fuer einem System testest du?
        Das sieht weder unter Windows noch unter *nix nach einer sonderlich gueltigen Pfadangabe aus.

        Geht trotzdem nicht

        Gewoehnst du dir diese Nullaussage jetzt bitte langsam mal ab? Danke.

        MfG ChrisB

        1. Hi,

          da hab ich ein
          ;upload_tmp_dir =
          gefunden und auf /Users/axeff/Sites gesetzt.

          Auf was fuer einem System testest du?
          Das sieht weder unter Windows noch unter *nix nach einer sonderlich gueltigen Pfadangabe aus.

          Geht trotzdem nicht

          Gewoehnst du dir diese Nullaussage jetzt bitte langsam mal ab? Danke.

          MfG ChrisB

          Also ich arbeite auf Mac OS X 10.5.2. und hab Xampp installiert.

          Zum Thema Nullaussauge: Mehr als nix bzw. der Ursprünglichen Ausgabe erreich ich halt nicht. Ergo -> "Geht trotzdem nicht" trifft es genau auf den Punkt!

          Gruß, axeff

          1. da hab ich ein
            ;upload_tmp_dir =
            gefunden und auf /Users/axeff/Sites gesetzt.

            Hast du evtl. vergessen den Kommentar ";" zu entfernen?

            Geht trotzdem nicht

            Gewoehnst du dir diese Nullaussage jetzt bitte langsam mal ab? Danke.

            MfG ChrisB

            Zum Thema Nullaussauge: Mehr als nix bzw. der Ursprünglichen Ausgabe erreich ich halt nicht. Ergo -> "Geht trotzdem nicht" trifft es genau auf den Punkt!

            Sehe ich genauso, mir geht diese Nörgelei und Klugscheißerei in diesem Forum auch auf den Sack, dauernd wird man irgendwo verbessert oder belehrt. Habe manchmal den Eindruck das manche einfach nicht verstehen WOLLEN was man will wenns net absolut 100% korrekt ausformuliert ist...

            Gruß, axeff

            Gruß zurück ;)
            Jens

            1. da hab ich ein
              ;upload_tmp_dir =
              gefunden und auf /Users/axeff/Sites gesetzt.

              Hast du evtl. vergessen den Kommentar ";" zu entfernen?

              Geht trotzdem nicht

              Gewoehnst du dir diese Nullaussage jetzt bitte langsam mal ab? Danke.

              MfG ChrisB

              Zum Thema Nullaussauge: Mehr als nix bzw. der Ursprünglichen Ausgabe erreich ich halt nicht. Ergo -> "Geht trotzdem nicht" trifft es genau auf den Punkt!

              Sehe ich genauso, mir geht diese Nörgelei und Klugscheißerei in diesem Forum auch auf den Sack, dauernd wird man irgendwo verbessert oder belehrt. Habe manchmal den Eindruck das manche einfach nicht verstehen WOLLEN was man will wenns net absolut 100% korrekt ausformuliert ist...

              Gruß, axeff

              Gruß zurück ;)
              Jens

              thx erstmal.

              Das kann durchaus sein, dass ich im Halbschlaf vergessen hab das ';' zu entfernen. Aber sollte es nicht das System-Temp nehmen, sofern "upload_tmp_dir =" auskommentiert ist?
              Vielleicht liegt das am Mac...der mich sowieso in letzter Zeit viel zu oft frustriert, aber das gehört hier nicht rein...

              Kann es leider momentan nicht testen, da ich auf Arbeit bin.
              Aber das wird das erste nach meiner Heimkehr.

              Viele Grüße,
              axeff

              1. da hab ich ein
                ;upload_tmp_dir =
                gefunden und auf /Users/axeff/Sites gesetzt.

                Hast du evtl. vergessen den Kommentar ";" zu entfernen?

                Geht trotzdem nicht

                Gewoehnst du dir diese Nullaussage jetzt bitte langsam mal ab? Danke.

                MfG ChrisB

                Zum Thema Nullaussauge: Mehr als nix bzw. der Ursprünglichen Ausgabe erreich ich halt nicht. Ergo -> "Geht trotzdem nicht" trifft es genau auf den Punkt!

                Sehe ich genauso, mir geht diese Nörgelei und Klugscheißerei in diesem Forum auch auf den Sack, dauernd wird man irgendwo verbessert oder belehrt. Habe manchmal den Eindruck das manche einfach nicht verstehen WOLLEN was man will wenns net absolut 100% korrekt ausformuliert ist...

                Gruß, axeff

                Gruß zurück ;)
                Jens

                thx erstmal.

                Das kann durchaus sein, dass ich im Halbschlaf vergessen hab das ';' zu entfernen. Aber sollte es nicht das System-Temp nehmen, sofern "upload_tmp_dir =" auskommentiert ist?
                Vielleicht liegt das am Mac...der mich sowieso in letzter Zeit viel zu oft frustriert, aber das gehört hier nicht rein...

                Kann es leider momentan nicht testen, da ich auf Arbeit bin.
                Aber das wird das erste nach meiner Heimkehr.

                Viele Grüße,
                axeff

                Natürlich, hab vergessen den Kommentar zu entfernen...
                Jetzt krieg ich zumindest nicht mehr den error 6. Dafür aber error 2, wofür in der Fehlerliste steht:
                Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.

                Ich hab diese Zeile in meinem Form-Tag aber drin:
                <input type="hidden" name="MAX_FILE_SIZE" value="40000"> und die Datei die ich versuche hochzuladen ist max 3MB groß.

                in der php.ini stehen die Upload-Variablen auf 8M.

                Ich glaub ich geb's auf, da dies eh nur ein Test werden sollte.
                Eigentlich will ich ein Formular bauen, was es erlaubt mehrere Dateien hochzuladen (Bilder-Upload), was ich mit HTML eh vergessen kann.

                Hab überlegt mittels Javascript dynamisch mehrere Input-Felder zu erzeugen, aber wie die Eingabe der lokalen Dateien realisieren?

                Alles was ich dazu gefunden hab ist jupload und ein Flash-tool.
                Habt ihr eventuell noch Vorschläge?

                1. Hi,

                  bitte gewoehne dir doch jetzt wenigstens endlich mal an, sinnvoll zu zitieren, und nicht einfach stumpfsinnig alles ... bitte lies http://de.wikipedia.org/wiki/TOFU, danke.

                  Jetzt krieg ich zumindest nicht mehr den error 6. Dafür aber error 2, wofür in der Fehlerliste steht:
                  Value: 2; The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.

                  Ich hab diese Zeile in meinem Form-Tag aber drin:
                  <input type="hidden" name="MAX_FILE_SIZE" value="40000"> und die Datei die ich versuche hochzuladen ist max 3MB groß.

                  Du weisst, was "MB" bedeutet?
                  Du hast im Manual noch mal nachgeschlagen, in welcher Einheit die MAX_FILE_SIZE-Angabe interpretiert wird?

                  Du hast es testweise einfach mal *ohne* diese Angabe im Formular probiert ...?

                  MfG ChrisB

          2. echo $begrüßung;

            Zum Thema Nullaussauge: Mehr als nix bzw. der Ursprünglichen Ausgabe erreich ich halt nicht. Ergo -> "Geht trotzdem nicht" trifft es genau auf den Punkt!

            Das Problem an "Geht-nicht"-Problemen ist, dass die Antwortenden dein System nicht vor Augen haben. Sie können deshalb den feinen Unterschied zwischen "Geht nicht" und "Geht nicht" nicht selbst sehen. Gerade aber dieser Unterschied ist es, bei dem ein geübtes Auge oftmals auf die Ursache schließen kann. Deswegen ist es hilfreich, - nicht nur für den Anwortenden, sondern in erster Linie für dich, um dein Problem gelöst zu bekommen - wenn du deine Augen übst und die Sachlage so detailiert wie möglich schilderst.

            Für dein File-Upload-Problem kann "geht nicht" unter anderem bedeuten, dass trotz der Änderung der gleiche Effekt wie in der ersten Schilderung zu sehen ist, oder es einen anderen Fehler gibt, der auf ein weiteres Problem hindeutet.

            echo "$verabschiedung $name";