Dogfish: Einfacher find-Befehl

Hallo ihr da draußen,
ich habe versucht, einen einfachen find-Befehl in PHP zu programmieren, doch hab es nicht hingekriegt. Jedes mal haben sich irgendwelche Endlosschleifen gestartet und die haben meinen Webserver ausgelastet. Das Script soll einen einfachen find .(Alle Dateien im Verzeichnis und allen Unterverzeichnissen auflisten) nachmachen. Hat jemand einen Link, wo ich so etwas finde, oder sogar so ein Script parat?
Danke schon mal im Vorraus,
Grüße von hier drinnen,
Dogfish

  1. ich habe versucht, einen einfachen find-Befehl in PHP zu programmieren, doch hab es nicht hingekriegt. Jedes mal haben sich irgendwelche Endlosschleifen gestartet und die haben meinen Webserver ausgelastet. Das Script soll einen einfachen find .(Alle Dateien im Verzeichnis und allen Unterverzeichnissen auflisten) nachmachen. Hat jemand einen Link, wo ich so etwas finde, oder sogar so ein Script parat?

    Wie so oft, hilft auch hier die PHP-Anleitung weiter. Auf der Seite zu readdir(), mit dem ein Verzeichnis ausgelesen wird (http://www.php.net/manual/de/function.readdir.php), findest Du eine fertige Schleife für ein Verzeichnis.

    Alles was Du machen mußt, ist diese Schleife in eine Funktion zu packen, und dann diese Funktion für jedes Verzeichnis rekursiv aufrufen;

    funktion lies_verzeichnis(dieses)
       {
        while (verzeichniseintrag lesen)
         {
          eintrag ausgeben;
          if (typ des eintrags = verzeichnis) lies_verzeichnis(eintrag);
         }
       }

    Bau das erstmal so zusammen und dann kannst Du es langsam Stück für Stück erweitern.

    Gruß,
      soenk.e

    1. Hallo,

      funktion lies_verzeichnis(dieses)
         {
          while (verzeichniseintrag lesen)
           {
            eintrag ausgeben;
            if (typ des eintrags = verzeichnis) lies_verzeichnis(eintrag);
           }
         }

      Bau das erstmal so zusammen und dann kannst Du es langsam Stück für Stück erweitern.

      Ich würde aber auf jeden Fall noch schauen, ob der Name des Verzeichnisses nicht "." oder ".." ist, denn "." stellt das aktuelle Verzeichnis dar und ".." das übergeordnete; das würde dann wieder zu einer Endlosschleife führen. (ist mir schon oft passiert, als ich das in anderen Programmiersprachen basteln wollte)

      Grüße,

      Christian