Можно ли использовать относительные пути с PHP scandir и влияет ли аутентификация на scandir?

У меня есть аутентифицированный каталог на моем сайте, в котором есть куча каталогов с фотографиями. Если вы войдете в систему, вы сможете получить доступ к этим фотографиям.

/admin/galleries/

Я хочу создать другую страницу за пределами этого каталога, которой я могу предоставить гостевой доступ для просмотра списка каталогов в аутентифицированном каталоге.

/guest/access/

Мне просто нужен простой список каталогов в каталоге /admin/galleries/. Я пытаюсь использовать scandir.

$folderlist = scandir("../../admin/galleries");

Это не возвращает false, но возвращает пустое значение. Я не уверен, почему? Это аутентификация в этом каталоге блокирует доступ через scandir? Я бы не подумал, что это повлияет на серверный процесс, такой как scandir.

Является ли относительный путь проблемой? Когда я создаю фиктивный каталог внутри /guest/access/ и меняю путь сканирования на scandir("."), он выводит имя этого каталога. Но если я перемещу тот же каталог в каталог /guest/ и изменю scandir на scandir("..") или scandir("../../guest"), он снова вернется пустым. Это заставляет меня думать, что это не проблема аутентификации, а что-то с самим scandir?


person rhodesjason    schedule 12.01.2011    source источник


Ответы (2)


Попробуйте использовать dirname(__FILE__) перед /../../

person hlegius    schedule 12.01.2011

Извините, что так долго оставлял этот вопрос без ответа:

Он не возвращался пустым, я просто не включил правильный относительный путь в свои операторы эха и прогнал их через оператор is_dir(), который вернул false, потому что эти каталоги не существовали в локальном каталоге. Глупая ошибка.

person rhodesjason    schedule 14.06.2011