Я последовал за несколькими сайтами и пришел к следующему:
<?php $imagesDir = base_url() . 'images/eventGallery/'; $files = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE); for ($i = 0; $i < count($files); $i++) { $num = $files[$i]; echo '<img src="'.$num.'" alt="random image">'." "; } ?>
Он не работает, поскольку ничего не отображается! Что я делаю не так? В указанном каталоге есть два изображения с расширением jpg.
Спасибо за любую помощь!
Это рабочая версия вашего кода (хотя я предпочитаю использовать readdir :)):
define('BASE_URL', dirname(__FILE__)); $imagesDir = BASE_URL . '/images/eventGallery/'; $files = glob($imagesDir . '*.{jpg,jpeg,png,gif,JPG,JPEG,PNG,GIF}', GLOB_BRACE); $len=count($files); for ($i = 0; $i < $len; $i++) { $num = $files[$i]; // transform from file system path to web path - assuming images is in the web root $num = substr($num, strlen(BASE_URL) ); echo '<img src="'.$num.'" alt="random image">'." "; }
Просто используйте встроенную функцию readdir в PHP
Ссылка: http://php.net/manual/en/function.readdir.php
<?php if ($handle = opendir('.')) { while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { echo "$entry\n"; } } closedir($handle); } ?>
я бы, наверное, сделал что-то вроде этого:
foreach (glob('../_pics/about/'.'*.{jpg,jpeg,JPG,JPEG}', GLOB_BRACE) as $filename) { echo"$filename"; }