Недавно меня попросили написать скрипт, который выводит дерево директории на PHP . Я решил, что это будет интересно многим, поэтому написал подобный скрипт, который сейчас продемонстрирую.
Недавно меня попросили написать скрипт, который выводит дерево директории на 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-скрипт, построив дерево корневой директории.
