Получаем и выводим дерево всех папок и файлов сайта 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"
Скачать можно здесь.
Как пользоваться функцией построения дерева файлов и папок?
Всё содержимое архива, бросаем в любое место вашего сайта.
Открываем по адресу.
И видим, что мы получили дерево файлов и папок:
Обозначения дерева файлов и папок?
Если цвет синий - значит папка закрытая.
Если цвет коричневый - папка открыта.
Если видите знак
Свои комменты в ожидании переделки!
Когда сделаю не знаю!
Времени нет...
Иначе сообщение будет удалено, вас в бан - все просто!
Но если, сил нет как хочется высказать всё, что вы думаете об этом, пожалуйста - комменты от Vk - форма ниже: