andi_b: rekusion bricht ab

Beitrag lesen

hallo,
leider funktioniert bei mir folgendes script nur deshalb nicht, weil php merkt, dass ich rekusiv aufrufe. kann man das umgehen?

//script:

$fileObject = & new FileFinder();
$fileArray = & $fileObject->getFiles($dir);

print_r($fileArray);

class FileFinder
{
  var $returnArray;
  var $root;

function FileFinder()
  {
    $this->returnArray = array();
  }

function & getFiles($dir)
  {
    echo '# '.$dir."\r\n";
    if(!$handle=opendir($dir))
    {
      die();
    }

while (false !== ($file = readdir($handle))) {
      if(is_file($file))
      {
        $this->returnArray[] = $file;
      }
      elseif (is_dir($file))
      {
        if(trim($file) != "." && trim($file) != "..")
        {
          $startDir = $dir.'\'.$file;
          $this->returnArray[] = $this->getFiles($startDir);
        }
      }
    }
    closedir($handle);
    return $this->returnArray;
  }
}

//ausgabe:

C:\eigene\ableton-source\php2html>rename2html.php . hh hh

C:\eigene\ableton-source\php2html

C:\eigene\ableton-source\php2html\a

Array
(
    [0] => Array
        (
            [0] => Array
 *RECURSION*
        )

[1] => create_html.bat
    [2] => hallo das ist aber auch ein mist.php.html
    [3] => rename2html.php
    [4] => sidebar_sites.txt
)

danke, andi