Felix Riesterer: Verzeichnisstruktur auslesen

Beitrag lesen

Lieber Schnitzel-Onkel,

ich verwende jetzt schon seit geraumer Weile eine Funktion, die ich mir aus den User-Comments auf PHP.net abgeschaut habe. Hier meine Version:

/* Funktion für Verzeichnisbaum  
@$pfad: relativer Pfad; relativ zum $_SERVER['SCRIPT_SELF']  
@$modus: (verzeichnisse|dateien|default)  
@$rekursiv: Unterverzeichnisse auch? (true|false) */  
 function verzeichnis_inhalt($pfad, $modus = 'alle', $rekursiv = true) {  
  $pfad = preg_replace('~^(.*)/$~', '\\1', $pfad); // letzten Slash entfernen  
  $inhalt = array();  
  $zugriff = opendir($pfad);  
  while ($eintrag = readdir($zugriff)) {  
   if (!preg_match('~^\.\.?$~',$eintrag)) {  
    switch ($modus) {  
     case 'verzeichnisse':  
       if (is_dir("$pfad/$eintrag"))  
      $inhalt[] = "$pfad/$eintrag";  
     break;  
     case 'dateien':  
      if (is_file("$pfad/$eintrag"))  
       $inhalt[] = "$pfad/$eintrag";  
     break;  
     default:  
      $inhalt[] = "$pfad/$eintrag";  
    }  
  
    if ($rekursiv && is_dir("$pfad/$eintrag")) {  
     $inhalt2 = verzeichnis_inhalt("$pfad/$eintrag", $modus, $rekursiv);  
     foreach ($inhalt2 as $eintrag2)  
      $inhalt[] = $eintrag2;  
    }  
   }  
  }  
  
  closedir($zugriff);  
  return $inhalt;  
 }

Liebe Grüße aus Ellwangen,

Felix Riesterer.