Ankündigung

Einklappen
Keine Ankündigung bisher.

$_FILES mit foreach()

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • $_FILES mit foreach()

    Hallo ... ... ich melde mich mal wieder zu Wort...

    Also:

    Ich speichere eine noch nicht festgelegt Anzahl von Dateien zum Upload

    PHP-Code:
    <?php
    <input name="userfile[]" type="file" title="Durchsuchen...">
    ?>
    Funktioniert
    Ergebnis:

    Array
    (
    [userfile] => Array
    (
    [name] => Array
    (
    [0] => php_manual_de.tar.tar
    [1] => php_tutorial.pdf
    )

    [type] => Array
    (
    [0] => application/x-tar
    [1] => application/pdf
    )

    [tmp_name] => Array
    (
    [0] => /tmp/php8KXYe0
    [1] => /tmp/phpyLNefl
    )

    [error] => Array
    (
    [0] => 0
    [1] => 0
    )

    [size] => Array
    (
    [0] => 2632029
    [1] => 215079
    )

    )

    )
    Diese Dateien möchte ich nun (natürlich) weiterverarbeiten.
    Ich hatte an foreach gedacht.
    So geht's nicht

    PHP-Code:
    <?php
    foreach($FILES as $test) ...
    foreach(
    $FILES['userfile'] as $test) ...
    foreach(
    $FILES['userfile']['name'] as $test) ...
    ?>
    foreach erwartet doch ein Array. Das letzte Beispiel müßte damit doch laufen ? Fehlermeldung:
    Invalid argument supplied for foreach()
    Frage: Haut das mit foreach irgendwie hin (bin ich blind )
    Oder muss ich erst irgendwie die Inhaltselemente Zählen
    und dann mit for arbeiten.

    Ähmmmm... ... schonmal Daaaaaaaaaaanke


  • #2
    Frage: Haut das mit foreach irgendwie hin (bin ich blind Question )
    Wenn PHP "Nein" sagt, dann haut es nicht hin.

    Kommentar


    • #3
      Da hast du Recht.. ..und schon erschließen sich mir ganz neue Welten...

      *g*

      Nu bin ich ganz von der Rolle, wieso gibt:

      PHP-Code:
      <?php
      count
      ($FILES['userfile']['tmp_name'], COUNT_RECURSIVE);
      count($FILES['userfile']['tmp_name']);
      ?>
      jeweils 0 aus ??

      Brett vor'm Kopf

      Kommentar


      • #4
        Weil Du einen Unterstrich vergessen hast ...mehrmals.
        Mit error_reporting(E_ALL); ini_set('display_errors', true); hätte Dich php auch darauf hingewiesen.

        Kommentar


        • #5
          [edit]Oh, da war einer schneller...[/edit]

          Hallo.

          Vielleicht solltest du einfach mal dein Error-Reporting-Level auf E_ALL setzen und dann das Handbuch direkt mal aufschlagen, anstatt es nur irgendwo hochzuladen

          http://php.net/manual/en/features.file-upload.php
          Beispiel 38-3 zeigt so eine Schleife ... und schon viel früher dürfte dir der fehlende Unterstrich ins Auge springen.

          Basti

          Kommentar


          • #6
            35 x 400 x 200 ... ... massive deutsche Eiche

            wenn ich bedenke wie oft ich (innerlich) Leute ausgelacht habe, weil
            sie genau diesen Fehler gemacht haben.

            wird mal Zeit für ne vernünftige IDE :wink:

            Dankte Quaks

            @Basti:

            Besten Dank. Die Seite hab ich wahrscheinlich schon so oft durch, daß ich die wichtigen Sachen ganz vergessen hab. Da steht wirklich die Lösung. Wort für Wort. Sorry, hab wahrscheinlich einfach nen schlechten Tag erwischt.

            Kommentar

            Lädt...
            X