readdir liest in komischer Reihenfolge

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

  • readdir liest in komischer Reihenfolge

    Hallo Leute,

    ich habe ein Problem beim Auslesen eines Verzeichnisses.
    Darin liegen gifs, die alle 01.gif, 02.gif, 21.gif usw. heißen. Beim
    Durchlaufen wird ein Array aus den Dateinamen ohne
    Punkt und Extension als Key angelegt: $meinArr['01'] = "egal".

    Problem: das Array ist völlig merkwürdig sortiert (weder alph.
    noch num.), z.B. kommt Key '01' nach '08'. I
    ch habe mich mit :
    ksort($meinArr,SORT_NUMERIC)
    beholfen, aber die Ursache würde mich doch interessieren. Dazu
    kommt noch der Umstand, daß es lokal und bei dem einen Provider
    numerisch sortiert wird, und bei dem anderen eben so wirr.
    Der frank-o-matic ist kein Sirius Cybernetic Corporation Produkt!

  • #2
    gib doch einfach mal die daten von readdir() aus.... die sortierung kommt wahrscheinlich schon vom filesystem
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Re: readdir liest in komischer Reihenfolge

      Original geschrieben von http://www.php.net/readdir
      The filenames are returned in the order in which they are stored by the filesystem.
      noch fragen?
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Servuc,
        die Ursache ist ganz einfach. Ich zitiere einfach mal das PHP Manual:
        Ermittelt den nächsten Dateinamen im Verzeichnis. Die Dateinamen werden ungeordnet zurück gegeben.
        Willst du auf jeden Fall eine sortierte Ausgabe, könntest du ja zum Beispiel alle Einträge in einen Array einlesen und diesen dann entsprechend sortieren.

        gruss Markus
        Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

        Kommentar


        • #5
          Re: readdir liest in komischer Reihenfolge

          Original geschrieben von samurai
          aber die Ursache würde mich doch interessieren.
          das dateisystem gibt die einträge in der reihenfolge zurück, wie sie in der liste der verzeichniseinträge abgespeichert sind.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Nö, keine Fragen weiter.

            Danke!
            Der frank-o-matic ist kein Sirius Cybernetic Corporation Produkt!

            Kommentar


            • #7
              Manual: readdir:

              EDIT:
              Ermittelt den nächsten Dateinamen im Verzeichnis. Die Dateinamen werden ungeordnet zurück gegeben.


              das ist nicht 'wirr', sondern hängt vom jeweiligen Dateisystem ab.
              (zB inode, FAT, Erstellungszeitpunkt etc.)
              In einer Textdatei sind die Buchstaben ja auch nicht alphabetisch geordnet,
              deswegen ist der Inhalt noch nicht wirr


              Sortieren mußt Du ggf. selbst.

              nice day
              Quickborner

              OffTopic:
              Ich bin einfach zu langsam für diese Welt

              Kommentar


              • #8
                Männers und Frauens!

                Ich danke Euch allen.

                Ergebenst.

                Samurai
                Der frank-o-matic ist kein Sirius Cybernetic Corporation Produkt!

                Kommentar


                • #9
                  OffTopic:
                  Hat schon mal jemand versucht readdir zu ermahnen die Dateien in ernsthafter Reihenfolge zurückzugeben ?!

                  Kommentar

                  Lädt...
                  X