Как рекурсивно перемещаться по каталогу при переходе по ссылкам в PHP?Php

Кемеровские программисты php общаются здесь
Anonymous
Как рекурсивно перемещаться по каталогу при переходе по ссылкам в PHP?

Сообщение Anonymous »

Конечно, я попробовал очевидное:


...Это выбранный здесь ответ. но проблема, конечно, в том, что он не следует по ссылкам, хотя я настроил Apache (выбранный мной веб-сервер) на разрешение перехода по ссылкам. Все ссылки работают, за исключением этой — насколько мне известно.
Вот результаты (и да, я нахожусь в редакторе, когда запускаю этот код разработки):< /p>
./index.php ./. ./.index.php.swp ./..

Мне бы не хотелось прибегать для этого к вызову внешней программы; есть ли другой (более простой/более эффективный) способ и если да, то какой?
Ссылки «мягкие», например:
$ ln -s /some/file/path

Директивы Apache для каталогов имеют эту опцию, которая использовалась:
Options +Indexes +FollowSymLinks


Прогресс, но не успех
По мотивам комментария Криса ниже я обновил код, и он стал ЛУЧШЕ, но все же работает не полностью.
Для проверки у меня есть это дерево: «верх» — это программная ссылка:
top
├── Fashionista
│   ├── GogoBoots_1.jpg
│   ├── OurFeet_1.jpg
│   ├── You_n_Me_1.jpg
│   ├── You_n_Me_2.jpg
│   ├── You_n_Me_3.jpg
│   ├── You_n_Me_4.jpg
│   ├── You_n_Me_5_better_lighting.jpg
│   ├── You_n_Me_6.jpg
│   ├── You_n_Me_7_fav.jpg
│   ├── You_n_Me_dark_1.jpg
│   ├── You_n_Me_too_dark_1.jpg
│   └── You_n_Me_too_dark_2.jpg
├── ReadMe
└── UnreleasedFilm
├── Joes_Mythos_I.iso
└── Nancys_Reviews.mbox

3 directories, 15 files

Код для просмотра этого (который в конечном итоге будет выдавать изображения, если запись является изображением и т. д.), вот текущий код и его выходные данные:


И вот результаты:
Dots!
Dots!
Basename: UnreleasedFilm
Path: top/UnreleasedFilm
isLink:
isDir: 1
Basename: Fashionista
Path: top/Fashionista
isLink:
isDir: 1
Basename: JustAFile.txt
Path: top/JustAFile.txt
isLink:
isDir:

Как видите, он не ходит по дереву, он проходит ТОЛЬКО один уровень. Мне нужно, чтобы он обошел все дерево.
Я решил, что обход дерева - это то, что представляет собой RecursiveIteratorIterator и/или RecursiveDirectoryIterator?
Я полагаю, что я я делаю это неправильно!
Кроме того, я попробовал добавить это в новый раздел RecursiveDirectoryIterator, и это тоже не сработало:
// RecursiveIteratorIterator::SKIP_DOTS |


Подробнее здесь: https://stackoverflow.com/questions/787 ... nks-in-php

Вернуться в «Php»