Помогите организовать вывод

Печать RSS
24

K
Автор
Транклюкаторщик
0
Точнее не вывод, ну в общем дело обстоит так:
есть папка 'loads' , в ней много подпапок.
в каждой папке / подпапке создается файл 'files.dat' со списком всех файлов / папок директории в которой он расположен.
то есть дерево получается таким:
[папка1]:
>файл1.mp3
>файл2.mp3
>files.dat
[папка1]->[files.dat]:
папка1/файл1.mp3
папка1/файл2.mp3
и так далее
сейчас пишу мини зц для себя, нужно выводить как то эти файлы.
у меня было несколько вариантов:
1)в GET писать полный путь типа "papka/podpapka"
не безопасно, не вариант.
2)для каждого файла / папки делать уникальный id
в моем случае тоже не вариант, т.к. они раскиданы по файлам 'files.dat', которые в свою очередь раскиданы по подпапкам.
3)писать содержимое всех подпапок в 1 файл
тоже не вариант, т.к. слишком большой файл получится, что сильно затормозит скрипт.
4)переделывать под mysql
абсолютно не вариант - займет еще где то полгода, т.к. его еще надо выучить smile это со временем.
-----------------------------------
я в растерянности , товарищи %)
Изменил: KOZZ (10.08.2010 / 05:58)
W

Землянин
0
1. Чего не безопастно то?
Фильтруй - будет счастье.
2. Можно было создать файл index.dat, с таким содержанием
dir/
dir/dir2/
dir/dir2/dir3/
dir/dir21/
dir1/
и тп, и номер строки на которой расположена папка - уникальный айди.
При добавлении папки - обновлять индекс

А не легче не создавать файл файлес.дат а сканировать директории?
Изменил: WCO (10.08.2010 / 06:44)
K
Автор
Транклюкаторщик
0
2, каждый раз перебирать файлы из директории - как то вульгарно )
или ты имеешь ввиду писать отдельно: файлы в файл files.dat, папки в файл index.dat?
а насчет фильтрации - наверное это единственный подходящий вариант
Изменил: KOZZ (10.08.2010 / 06:58)
W

Землянин
0
3, 2, да да.
1. Фильтруй, фильтруй
K
Автор
Транклюкаторщик
0
проблему решил ) отфильтровал на защиту от xss + на существование файла 'files.dat', вроде больше ничего не надо ))
K
Автор
Транклюкаторщик
0
немного не в тему, но все же:
как настроить mod rewrite чтобы вместо ссылки:
http://site.ru/dl.php?d=loads/dir/dir2/и.т.д.(произвольное к-во подпапок)
можно было юзать такую:
http://site.ru/loads/dir/dir2/...
???
А

Сказочник
0
RewriteEngine on
RewriteCond %{REQUEST_URI} loads/(.*)$
RewriteRule (.*)$ dl.php?d=$1
ну если не долго думая, то так
пример: http://mail66.org/test/26/loads/26/26/26/26/
Изменил: Александр (10.08.2010 / 12:16)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск