Liebe Mitdenker, liebe Wissende, liebe Neugierige,
ja!
<?php # Dein Code ist nicht gut aufgeräumt, ich habe das mal geändert. $myfolder = '/var/www'; # Hier statisch, weil in der Konsole getestet. # So wie Du das anfängst brauchst Du eine globale Variable für den Array: $GLOBALS['folder_array']=array(); list_folder($myfolder); asort($GLOBALS['folder_array']); foreach($GLOBALS['folder_array'] AS $folder){ echo $folder."<br>\n"; } exit; # "Deklaratorisch", damit der Progger weiß, hier ist das Hauptprogramm zu Ende function list_folder($path){ if( $handle = @opendir($path) ) { #Hinweis #@ ist "böse", Du bekommst nicht mit, wenn ein Verzeichnis nicht lesbar ist while (false !== ($file = readdir($handle))){
if ($file != "." && $file != ".." && is_dir($path."/".$file) ) {
$GLOBALS['folder_array'][] = $path.'/'.$file; list_folder($path.'/'.$file); # das hier nennt sich "rekursiver Funktionsaufruf" } }
closedir($handle); } } ?>
Allerdings solltest Du noch links ausschließen:
… if ($file != "." && $file != ".." && ! is_link($path."/".$file) && is_dir($path."/".$file) ) { …
Es fehlt immer noch die Vermeidung eines zyklischen Verlaufs, wenn dir ein Link oder SymbolicLink ist.
Huch? Jetzt sthet es plötzlich drin? Welche geheimen Kräfte wirken denn da wieder im Hintergrund?
Spirituelle Grüße
Euer Robert
robert.r@online.de
--
Möge der wahre Forumsgeist ewig leben!
Möge der wahre Forumsgeist ewig leben!