Дерево каталогов

pro10026

Постоялец
Регистрация
10 Мар 2010
Сообщения
58
Реакции
1
Нужен скрипт который будет брать пути из файла и строить дерево каталогов.
main_cat\podcat\eshepodcat\primer.rar
main_cat\podcat1\eshepodcat1\primer2.rar
ну и так далее...
 
Выводит список файлов из указанной директории.
Настраивайте его под свои нужды.

PHP:
if ($handle = opendir('.')) { // Вместо точки подставляете любую другую директорию
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            echo "$file\n";
        }
    }
    closedir($handle);
}
 
Мне не из дериктории нужно! Директории должны браться из файла (например path.txt)пути такого типа:
main_cat\podcat\eshepodcat\primer.rar
main_cat\podcat1\eshepodcat1\primer2.rar
 
Разбей по слешам пути и разнеси их по массивам. Получится многомерный массив. Дальше сделай сортировку каждого уровня массива и строй итоговое отсортированное и упорядоченное дерево
 
Мне не из дериктории нужно! Директории должны браться из файла (например path.txt)пути такого типа:
main_cat\podcat\eshepodcat\primer.rar
main_cat\podcat1\eshepodcat1\primer2.rar
1)пока не закончились строки в path.txt считываем
2)заходим в директорию
3)считываем поддиректории\файлы
4)пишем в виде дерева туда куда тебе нужно
готово:)
 
Мне не из дериктории нужно! Директории должны браться из файла (например path.txt)пути такого типа:
main_cat\podcat\eshepodcat\primer.rar
main_cat\podcat1\eshepodcat1\primer2.rar

Если я правильно понят, то эти пути лежат в файле path.txt?
Тогда алгоритм такой:

- считывам все пути с файла path.txt построчно в массив путей
- создаем новый массив (он будет многомерный)
- в цикле разбиваем первую строку пути по слэшам
- проверяем первый элемент main_cat, если не существует, то создаем в массиве элемент первого уровня main_cat
- далее проверяем в элементе main_cat (второй уровень вложенности), не существует ли элемента podcat, если нет, то создаем
- далее проверяем существует ли в элементе podcat элемент eshepodcat (третий уровень), если нет, то добавляем
- проверяем, есть ли в элементе eshepodcat файл primer.rar (четвертый уровень), если нет, то добавляем

так с каждой строкой пути в цикле.
 
Назад
Сверху