Конечно, я попробовал очевидное:
...Это выбранный здесь ответ. но проблема, конечно, в том, что он не следует по ссылкам, хотя я настроил 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