phpbar.de logo

Mailinglisten-Archive

[php] Directory lesen mittels Rekursion

[php] Directory lesen mittels Rekursion

Erich Hohermuth eh_(at)_profzone.ch
Mon, 31 Jul 2000 11:12:34 +0200


Hallo Guido

Danke für den Tipp, ich habe nun 2 Funktionen mit und ohne chdir.

>
> Ich habe selbiges auch festgestellt, allerdings auch noch nicht näher
> geprüft warum. Wenn Du den kompletten Pfad an is_dir
> übergibst, liefert
> is_dir auf jeden Fall korrekte Ergebnisse.

Anbei die beiden Beispiele die gehen, zur freien Verfügung der Liste ;-)

/* Rekursive Funktion um das Verzeichniss auszulesen
	- Der Pfad wird jeweils erweitert.

*/

<?php

function read_dir($path) {
    $fd= _(at)_opendir($path);
    while ($file = _(at)_readdir($fd)) {
        $newpath = $path . $file ."/";
        if(is_dir($newpath) && !($file=="." || $file=="..")) {
                echo "<b>$newpath</b><br>\n"; // Debug Ausgabe
                read_dir($newpath);
        }
    }
    _(at)_closedir($fd);
}


echo "Der Directory Test<br>";
read_dir("/usr/home/www/");

 ?>





/* Rekursive Funktion um das Verzeichniss auszulesen
	- Bei dieser Funktion wird mittels chdir ins
	  jeweilige Verzeichniss gewechselt.
*/


<?php

function read_dir($path) {
    $error = _(at)_chdir($path);
    $handle= _(at)_opendir($path);
    while ($file = _(at)_readdir($handle)) {
        echo "$file<br>"; //Debug Ausgabe
        if(is_dir($file) && !($file=="." || $file=="..")) {
                echo "<b>$file</b><br>\n"; // Debug Ausgabe
                read_dir($path . $file ."/");
        }
    }
    $error = _(at)_chdir($path ."/../");
    _(at)_closedir($handle);
}


echo "Der Directory Test<br>";
read_dir("/usr/home/www/");

 ?>


Erich Hohermuth



php::bar PHP Wiki   -   Listenarchive