Mailinglisten-Archive |
eschmid+sic_(at)_s.netic.de wrote:
>
> On Mon, Jul 31, 2000 at 12:46:19AM +0200, Erich Hohermuth wrote:
>
> > Ich möchte eine Directory-Struktur auslesen und dabei die
> > VerzeichnissNamen ausgeben.
> > Folgender Code geht soweit rekursiv in die Tiefe, jedoch beim Aufsteigen
> > erkennt der "is_dir"-Befehl das File nicht mehr als Directory. Die while
> > Schleife wird jedoch sauber beendet. Hat mir da jemand einen Tipp. Laut
> > PHP-Manual sollte der Variablen-Scope stimmen.
> >
> > <?php
> >
> > function readreq($path) {
> > $error = chdir($path);
> > $fd= opendir($path);
> > while ($file = readdir($fd)) {
>
> Hier duerfte der Hund begraben sein. Schreib mal statt "=", "==". Die
> while-Schleife braucht eine "expression" und keine normale Zuweisung. Je
> nachdem while TRUE oder FALSE ergibt, wird dann die Schleife abgebrochen.
das ist in Ordnung, die Schleife läuft, solange readdir() weitere
Einträge
liefert und bricht dann ab
>
> > if(is_dir($file) && !($file=="." || $file==".."))
> >
> > echo "<b>$file</b><br>\n"; // Debug Ausgabe
> > readreq($path . $file ."/"); // Wir rufen uns selber auf
> > !
hier liegt das eigentliche Problem:
jeder Aufruf beginnt mit chdir($path),
diese Änderung des aktuellen Verzeichnisses wird
aber auf dem Rückweg nicht wieder Rückgängig gemacht
> > }
> > }
> > closedir($fd);
> > }
> >
> >
> > echo "Der Directory Test<br>";
> > readreq("/usr/home/www/");
> >
> > ?>
>
> -Egon
>
> --
> http://www.linuxtag.de/
> http://php.net/books.php
> http://www.concert-band.de/
>
> --
> ** Durchgehend geöffnet: http://www.php-center.de **
> Die PHP-Liste: mailto:php_(at)_php-center.de
> http://infosoc.uni-koeln.de/mailman/listinfo/php
--
Harmut Holzgraefe hholzgra_(at)_media-engineering.de
php::bar PHP Wiki - Listenarchive