Hallo!

Ich habe eine Funktion in eine Klasse gebaut, um alle Ordner eines Verzeichnisses in so einer Baumstruktur auszulesen.

Code:
class ordnersystem
{
 VAR $pfad='';
 VAR $viewpfad='';

function baumstruktur($left_padding=5)
 {
  $dir_handle = opendir($this->pfad.$this->viewpfad);
  while ( $datei = readdir ($dir_handle) )
  {
   if( $datei != "." && $datei != ".." )
   {
    if( is_dir($this->pfad."/".$datei) )
    {
     echo <<<verzeichnis
      <span style="padding-left: $left_padding">$datei</span>

verzeichnis;
     $this->viewpfad=$this->viewpfad.$datei."/"; echo $this->viewpfad;
     $this->baumstruktur($left_padding+5);
    }
   }
  }
  closedir( $dir_handle );
 }
}
$os = new ordnersystem;
$os->pfad="alle_nutzer/hier/";
$os->baumstruktur();
Nun sollen alle Ordner ausgelesen werden. Mein Problem ist aber, dass entweder nur die Ordner einer Ebene gelesen werden oder nur
in einer Reihe ins tiefste Verzeichnis, also ohne Beachtung weiterer Ordner in einem Ordner. Die Variable pfad enthält immer den Pfad zum Ordner, ab wo alle Unterordner gelesen werden sollen! Die Variable viewpfad enthällt den Pfad ab dem obersten Ordner. Dies habe ich getrennt, damit der Nutzer nicht sieht, wo die ganzen Datein liegen.

Warum geht die ganze Sache nicht richtig? Die Variante ohne Klasse hatte ich schon einmal zum Laufen bekommen aber das war schon
länger her und nun will es in der Klasse nicht!

Danke!