[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как в glob() указать путь от корня сайта?
Гость_Андрей
Добречко! :)
Подскажите, пожалуйста, как в glob() указать путь от корня сайта?

Код такой:

$files = glob('/gallery/*.jpg');
echo "<img src='$files[1]' alt='' />";

не прокатывает, имена файлов в массив не заносятся,

$files = glob($_SERVER['DOCUMENT_ROOT'].'/gallery/*.jpg');
echo "<img src='$files[1]' alt='' />";

тоже не работает почему-то :unsure:

Неужели можно указывать только относительный путь? Если это так, то как я могу по-другому занести в массив все изображения из папки, указав именно путь от корня?

Буду очень благодарен за помощь!
bestxp
$dir = realpath($_SERVER['DOCUMENT_ROOT'] . '/gallery/');
$files = glob($dir . '/*.png');
paul85
bestxp, просветите, а зачем здесь realpath? Ведь $_SERVER['DOCUMENT_ROOT'] уже содержит абсолютный путь?

Насколько я понимаю, ТС хочет искать файлы по абсолютному системному пути, а потом выводить их от корня сайта. То есть как-то так:
$url = '/gallery/';
$syspath = $_SERVER['DOCUMENT_ROOT'] . $url;
$rowfiles = glob($syspath . '/*.png');

foreach ($rowfiles as $file)
$files[]= $url . basename($file);

echo "<img src='$files[1]' alt='' />";



killer8080
Цитата (Гость_Андрей @ 12.08.2013 - 17:53)
$files = glob($_SERVER['DOCUMENT_ROOT'].'/gallery/*.jpg');echo "<img src='$files[1]' alt='' />";
тоже не работает почему-то  unsure.gif

посмотри, что в $_SERVER['DOCUMENT_ROOT']?
Возможно сервер криво настроен.
paul85
killer8080, у меня тоже в таком виде не работает. Видимо glob не воспринимает ассоциативные массивы или что-то в этом духе...
killer8080
paul85
все там должно работать, возможно у него криво настроены переменные окружения, и вместо реального DOCUMENT_ROOT, там что нибудь типа /var/www
Гость_Андрей
Цитата (paul85 @ 12.08.2013 - 20:30)
bestxp, просветите, а зачем здесь realpath? Ведь $_SERVER['DOCUMENT_ROOT'] уже содержит абсолютный путь?

Насколько я понимаю, ТС хочет искать файлы по абсолютному системному пути, а потом выводить их от корня сайта. То есть как-то так:
$url = '/gallery/';
$syspath = $_SERVER['DOCUMENT_ROOT'] . $url;
$rowfiles = glob($syspath . '/*.png');

foreach ($rowfiles as $file)
    $files[]= $url . basename($file);

echo "<img src='$files[1]' alt='' />";


Большое спасибо всем за помощь! Paul85 особенно - код работает отлично!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.