<?php
function foo($a = null){
if($a==null){
$a = getcwd();
}
$dir = opendir($a);
while($name = readdir($dir)){
$n = $a.'\\'.$name;
if(is_file($n)){
echo "$name<br>";
}
if(is_dir($n)){
echo "[$name]<br>";
foo($n); //Без рекурсии работает
}
}
closedir($dir);
}
foo();
?>
Или хотя бы можете выложить рабочий пример :unsure: