Выбор папки для случайного отображения фото
Имеется код который выводит изображения из папок, как изменить код для выбора только одной папки?
<?php
//указываем папки с изображениями
$folder_mas = array('images/river','images/clouds','images/mountains');
$images = array();
//выбираем случайную папку
$folder = $folder_mas[rand(0,2)];
$all_files = scandir($folder);
while ($i++ < sizeof($all_files)){
//выбираем только изображения с расширением .png, .jpg и .gif
if (!strstr($all_files[$i],".png") and !strstr($all_files[$i],".jpg") and
!strstr($all_files[$i],".gif")) continue;
array_push($images, $all_files[$i]);
}
//перемешиваем массив
shuffle($images);
$img_src = $folder."/".$images[0];
echo '<img src="'.$img_src.'" alt="">';
$img_src = $folder."/".$images[1];
echo '<img src="'.$img_src.'" alt="">';
$img_src = $folder."/".$images[2];
echo '<img src="'.$img_src.'" alt="">';
?>
Ответы (1 шт):
Автор решения: Denis640Kb
→ Ссылка
Вы можете сделать это проще используя glob.
<?php
//указываем папки с изображениями
$folder_mas = array('images/river','images/clouds','images/mountains');
$images = array();
//выбираем случайную папку
$folder = $folder_mas[rand(0,2)];
$files1 = glob($folder."/*{img,png,jpeg}", GLOB_BRACE); // Получаем только картинки в указанной папке. уже в массиве
//перемешиваем массив
shuffle($files1);
echo '<img src="'.$files1[0].'" alt="">';
echo '<img src="'.$files1[1].'" alt="">';
echo '<img src="'.$files1[2].'" alt="">';