glob — установить относительный путь к корневому каталогу

У меня возникли проблемы с glob в php, и хотя я провел небольшое исследование, я просто не мог найти ответ на свою проблему.

Прежде всего, к моей структуре каталогов:

/ (root)
/images (folder)
- gallery/ (sub folder containing image files)
/pages (folder)
- gallery.php

Я хочу получить доступ к подпапке «галерея» в папке «изображения». Итак: в моем файле gallery.php я получил следующую строку:

$images = glob("/images/gallery/*.*");

И это не работает.

Что работает, если я изменю путь на «../«

$images = glob("../images/gallery/*.*");

или если я изменю код на:

define('BASE', $_SERVER['DOCUMENT_ROOT']);
$images = glob(BASE."/images/gallery/*.*");

К сожалению, исходный код показывает некоторую информацию, я не уверен, что хочу на самом деле обнародовать

e.g.
/home/scecjwkh/htdocs/images/gallery/3.JPG

Я надеюсь, что предоставленной мной информации достаточно, чтобы понять мою проблему. Не уверен, почему у меня так много проблем с относительным путем o.O

Заранее спасибо,
Stuben

0

Решение

Что вы обычно делаете, это используете __DIR__ строить относительные пути из папки текущего скрипта. Вы также можете использовать __DIR__ знать, какую часть вырезать из окончательных путей, потому что вы должны знать, где в проекте находится ваш текущий файл, и, таким образом, знать, где находится корень относительно него.

$images = glob(__DIR__."/../images/gallery/*.*"); получает список изображений, не заботясь о текущий рабочий каталог, после чего вы можете использовать realpath(__DIR__.'/..') выяснить, сколько нужно отрывать от каждого пути к файлу.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]