Я пытаюсь использовать Glob PHP для получения списка файлов на основе шаблона, а именно расширения.
$images = glob('/content/big/'.$item['id'].'.{jpg,jpeg,png,gif}', GLOB_BRACE);
Я знаю, что в этом каталоге есть файл, а именно: 23.png, но он не отображается в массиве $ images. Я не знаю, почему нет. Я попытался сделать URL еще более абсолютным (или явным):
$images = glob('http://www.website.com/content/big/'.$item['id'].'.{jpg,jpeg,png,gif}', GLOB_BRACE);
Без результата.
Может быть, Glob не установлен правильно внутри PHP? Или есть еще одна причина, по которой это не дает никаких результатов?
glob
работает только с путями в файловой системе сервера, а не с URL-адресами.
http://www.website.com/content/big/
действительно может быть /var/www/site/content/big
на сервере, и это тот путь, который вам нужно использовать.
Начать путь с помощью /
make glob в корневой папке для этой папки, и я предполагаю, что на вашем сервере нет папки с именем /content/big/
.
Попробуйте это (используя относительный путь от корня сервера):
$images = glob('content/big/'.$item['id'].'.{jpg,jpeg,png,gif}', GLOB_BRACE);
Или используйте абсолютный путь:
$images = glob('/var/www/site/content/big/'.$item['id'].'.{jpg,jpeg,png,gif}', GLOB_BRACE);
ниже моя реализация, одинарные кавычки не работают с эхом, но это работает для меня. Надеюсь, поможет!
<ul> <?php foreach(glob('audio/*.mp3') as $audio){ echo "<li><a>$audio</a></li>";} ?> </ul>