Даже не знаю, я так не пишу обычно. Мне не нравится, когда функция что-то вываливает на экран, да ещё и ничего не возвращая при этом.
Ну можно вот так попробовать:
Ставим переносы строк хотя бы после каждого ";", а то нифига не понятно.
Видим такую строчку:
echo str_repeat("-", $depth)." ".$file."<br>";
Над ней нужно поставить строку
$fileListOrAnyOtherName[] = str_repeat("-", $depth)." ".$file;
тогда получим массив с выхлопом.
Но он будет существовать только внутри функции, чтобы видеть его из всей программы, нужно сделать его глобальным
function recurs_dir($path)
{
global $fileListOrAnyOtherName;
static $depth = 0; $dir = opendir($path);
Но я тоже не специалист
