Дерево файлов на PHP
Такая проблемка: нужно реализовать на сайте дерево файлов и папок. Соответственно вложенные файлы должны отображаться под своей родительской папкой, а файлы без папки (находящиеся в корневом каталоге) просто отображались внизу всех остальных. Имею такой код:
function tmlFile($dir){
$ok = scandir($dir, 0);
foreach($ok as $k=>$v){
if($v != '.' && $v != '..'){
if(is_dir($dir.$v) == true){
echo 'папка - > <b>'.$dir.$v.'</b><br>';
tmlFile($dir.$v.'/');
}
elseif(is_file($dir.$v) == true){
echo 'файл -> '.$dir.$v.'<br>';
}
}
}
}
tmlFile($_SERVER['DOCUMENT_ROOT'].'/tpl/templates/default/');
Выводит почти всё правильно, по крайней мере выводит все папки и все файлы, но в чем ошибка, поймете по картинке:
Как видите, всё в куче. Красным выделено, соответственно, папка и находящиеся в ней файлы. То, что не выделено, - просто файлы, лежащие в директории (.tpl файлы). Как навести порядок?
Источник: Stack Overflow на русском