Eduard: alle Dateien eines bestimmten Verzeichnisses anzeigen

Guten Tag,

wie kann ich alle Dateien oder eine bestimmte Datei eines bestimmten Verzeichnisses auslesen? Die Datei und das Verzeichnis werden jeweils mit einer Nummer in einer Get-Variablen bestimmt.

Folgende Verzeichnisstruktur als Beispiel:
A_Verzeichnisname
  A_Dateiname
  B_Dateiname
B_Verzeichnisname
  A_Dateiname
  B_Dateiname
  C_Dateiname
  D_Dateiname

Nun sind die Werte der zwei Get-Variablen 2 und 3. Dadurch sollte die Datei C_Dateiname (Datei 3) im Verzeichnis B_Verzeichnisname (Verzeichnis 2) ausgewählt werden.

Kann mir jemand helfen?

Eduard

  1. Hi,

    hoffentlich hab ich dich richtig verstanden.

    Wenn du die Werte zur Dateisuche per get übergibst (Verzeichnisname, Datei) kannst du diese in die Funktion

    if (file_exists())

    einfügen und gucken ob eine Datei existiert. Ist das ganze true dann kannst du eine Aktion ausführen z.B. auslesen!

    Bis denne

    Botix

  2. Hallo Eduard,

    wie kann ich alle Dateien oder eine bestimmte Datei eines bestimmten Verzeichnisses auslesen? Die Datei und das Verzeichnis werden jeweils mit einer Nummer in einer Get-Variablen bestimmt.

    ...

    Nun sind die Werte der zwei Get-Variablen 2 und 3. Dadurch sollte die Datei C_Dateiname (Datei 3) im Verzeichnis B_Verzeichnisname (Verzeichnis 2) ausgewählt werden.

    Wie legst Du die Sortierreihenfolge fest?
    Soll die Ausgabe stabil bleiben, auch wenn neue Dateien und Verzeichnisnamen hinzukommen?
    Warum übergibst Du nicht Namen?
    Was machst Du, wenn es die Kombination nicht gibt?

    Diese Fragen solltest Du Dir (und uns) zunächst beantworten.

    Freundliche Grüsse,

    Vinzenz

    1. Guten Tag Vinzenz,

      Nun sind die Werte der zwei Get-Variablen 2 und 3. Dadurch sollte die Datei C_Dateiname (Datei 3) im Verzeichnis B_Verzeichnisname (Verzeichnis 2) ausgewählt werden.

      Wie legst Du die Sortierreihenfolge fest?

      Die Sortierreihenfolge wird von dem Betriebssystem festgelegt, d.h. Verzeichnisse, die z.B. mit A beginnen, stehen vor Verzeichnissen, die mit B beginnen.

      Soll die Ausgabe stabil bleiben, auch wenn neue Dateien und Verzeichnisnamen hinzukommen?

      Nein, sie soll nicht stabil bleiben.
      Beispiel:
      zu den Verzeichnissen A_Verzeichnis und B_Verzeichnis kommt nun ein Verzeichnis AB_Verzeichnis. Wurde vorher durch den Wert 2 in der Get-Variablen das Verzeichnis B_Verzeichnis ausgewählt, wird nun das Verzeichnis AB_Verzeichnis ausgewählt.

      Was machst Du, wenn es die Kombination nicht gibt?

      Das werde ich dann schon abfangen.

      Grüße

      Eduard

      1. hi,

        Wie legst Du die Sortierreihenfolge fest?

        Die Sortierreihenfolge wird von dem Betriebssystem festgelegt, d.h. Verzeichnisse, die z.B. mit A beginnen, stehen vor Verzeichnissen, die mit B beginnen.

        du träumst.

        beim auslesen eines verzeichnisses bekommst du die datei-/verzeichnisnamen in der reihenfolge, in der ihre directory-einträge angelegt wurden.
        dies _kann_ zufällig die alphabetische reihenfolge sein, aber das wird wohl in der praxis sehr selten der fall sein.

        jegliches programm, dass ein verzeichnis ausliest, muss die sortierung _selber_ herstellen. das gilt für den explorer genauso wie für den dir-befehle genauso wie für dein php-script.

        gruß,
        wahsaga

        --
        I'll try being nicer if you'll try being smarter.
        1. Guten Tag,

          Die Sortierreihenfolge wird von dem Betriebssystem festgelegt, d.h. Verzeichnisse, die z.B. mit A beginnen, stehen vor Verzeichnissen, die mit B beginnen.

          du träumst.

          OK, dann werde ich die Verzeichnisse und Dateien eben vorher durch das PHP-Script alphabetisch sortieren lassen. Aber es muss doch möglich sein, dass ich dann z.B. die dritte Datei im zweiten Verzeichnis nach der Sortierreihenfolge aufrufe. Ich glaube, dass der dir-Befehl irgendwie helfen könnte, aber da steig ich nicht ganz durch.

          Grüße

          Eduard

          1. hi,

            OK, dann werde ich die Verzeichnisse und Dateien eben vorher durch das PHP-Script alphabetisch sortieren lassen. Aber es muss doch möglich sein, dass ich dann z.B. die dritte Datei im zweiten Verzeichnis nach der Sortierreihenfolge aufrufe.

            wenn du dir beim auslesen das ganze in einem array ablegst, und dieses dann sortierst, sollte der zugriff über den nummerischen index doch wenig probleme bereiten.

            würde sich dann evtl. empfehlen, mit einem mehrdimensionalen array zu arbeiten, je verzeichnisebene auch eine array-ebene.

            dabei legst du für alle einträge, egal ob verzeichnis oder datei, einen array-eintrag an - und bei den verzeichnissen fügst du dann halt immer wieder eine weitere ebene nach gleichem aufbau an.

            wenn du dann auf $verzeichniseintrag[2][4][15] zugreifst, überprüfst du mit is_arry(), ob es darunter noch weitere ebenen gibt - wenn ja, ist es ein verzeichnis, wenn nein eine datei.

            gruß,
            wahsaga

            --
            I'll try being nicer if you'll try being smarter.