Получаем и выводим дерево всех папок и файлов сайта php
"вывести дерево папок и файлов всего сайта php". Я как-то рассматривал тему с функцией, которая нам поможет и здесь.
Подробно о создании и выводе ВСЕГО дерева папок и файлов сайта!
- Подготовка для сортировки всех папок и файлов сайта
- Сортировка всех папок и файлов сайта для дерева.
- Вторая функция для создания дерева директорий и файлов.
- Живой пример вывода всего дерева папок и файлов сайта Как пользоваться функцией построения дерева файлов и папок?
- Скачать
Обозначения дерева файлов и папок?
Подготовка для сортировки всех папок и файлов сайта
Для вывода всего дерева директорий и файлов... нам потребуется отсортировать папки отдельно - файлы отдельно!
Вчера специально посмотрел в интернете - есть ли вообще, что-то похожее на нормальное дерево всех файлов на сайте! Оказалось, как часто бывает - какой-то полный отстой!
Поэтому, я напишу всё самостоятельно, раз нет готового решения.
Но первым шагом... нам нужно подготовить почву для сортировки и выводу всего дерева директорий, поддиректорий и файлов!
Получим в переменную путь до корневой
Создадим функцию, пусть это будет :
Сперва получим все папки первого уровня с помощью scandir:
Избавимся от виртуальных директорий:
После удаления восстановим нумерацию
Поскольку отсортировать отдельно названия папок и файлов простым способом не получится - сделаем это с помощью цикла.
Сортировка всех папок и файлов сайта для дерева.
После того, как мы подготовили массив для цикла
Выше цикла поставим создание двух массивов в цикле... один с папками($new_array), другой с файлами($new_array2):
Запустим наш цикл :
Внутри цикла создадим условие, каждая новая строка с новым расширением, все расширения какие вспомнил в этом условии, не буду выводить все строки. Как добавить ... если у вас есть како-то новое разрешение, просто копируйте любую строку(кроме последней(там отсутствует "or") в условии, измените разрешение и вставьте в условие.
substr_count( $array[$i] , '.dat') or
....
substr_count( $array[$i] , '.xml') or
substr_count( $array[$i] , '.htaccess'))
{
$new_array2[] = $array[$i];
}
Папки :
Что не попало в первый массив попадет во второй(так, что не беспокойтесь, файлы выведутся все!):
{
$new_array[] = $array[$i];
}
И в самом конце вернем(return) соединим получившиеся два массива с помощью array_merge , вначале папки($new_array):
Зарываем нашу функцию!
Вторая функция для создания дерева директорий и файлов.
Если первую функцию можно было объяснить и понять неподготовленному человеку, то вот вторая функция, сложна для понимания тем, что она вызывается несколько раз.
И в том числе в цикле foreachДанная функция проберется по всем каталогам вашего сайта и выведет всё, что у вас есть на сайте!
Я думаю - этого будет достаточно для описания этой функции.
Да!.. И редкий случай, когда применил тег details(это один из вариантов - открыть/скрыть блок, только на html) - посмотрим, что из этого получится...
Живой пример вывода всего дерева папок и файлов сайта
Стили... думаю рассказывать вообще смысла нет, как получилось... так получилось.
Живой пример вывода всего дерева сайта. Естественно, что дерево всего сайта https://dwweb.ru я вам не покажу, у меня есть для таких целей поддомен. Разместим весь код php + html + css в файле "index.php"
Скачать можно здесь.
Как пользоваться функцией построения дерева файлов и папок?
Всё содержимое архива, бросаем в любое место вашего сайта.
Открываем по адресу.
И видим, что мы получили дерево файлов и папок:
Обозначения дерева файлов и папок?
Если цвет синий - значит папка закрытая.
Если цвет коричневый - папка открыта.
Если видите знак
В связи с тем, что... некоторые пользователи имеют отклонения от нормы... комменты закрыты до момента, как напишу скрипт, когда будут доступны только зарегистрированным, либо будет модерация комментов...
Свободно, комменты оставить более не получится!
Этим вы очень поможете проекту! Заранее огромное спасибо!
