Дерево директории на php
Скрипт, который выводит дерево директории на PHP.Вот код скрипта:
<?
function showTree($folder,$space){
/*Получаем полный список файлов и каталогов внутри $folder*/
$files=scandir($folder);
foreach($files as$file){
/*Отбрасываем текущий и родительский каталог*/
if(($file=='.')||($file=='..'))continue;
$f0=$folder.'/'.$file;//Получаем полный путь к файлу
/*Если это директория*/
if(is_dir($f0)){
/*Выводим название директории, делая заданный отступ*/
echo$space.$file."<br>";
/*С помощью рекурсии выводим содержимое полученной директории*/
showTree($f0,$space.' ');
}
/*Если это файл, то просто выводим название файла*/
else echo $space.$file."<br>";
}}
/*Запускаем функцию для текущего каталога*/
showTree("./","");
?>
Код тщательно прокомментирован, поэтому вопросов возникнуть не должно. Как видите, всё построено вокруг рекурсии, и каждый каталог рекурсивно обследуется. А когда полностью обследован (а также все его подкаталоги), то возвращаемся в цикл и двигаемся дальше. Такой процесс происходит абсолютно с каждым каталогом, который попадается на пути.
Я Вам предлагаю найти у себя на компьютере сайт, где много директорий, поддиректорий и файлов и испытать данный PHP-скрипт, построив дерево корневой директории.