Скрипт выбора случайного изображения из указанных папок
Предлагаем Вам ознакомиться с очень простым и довольно востребованным скриптом вывода случайного изображения из указанных папок. В отличие от обычных скриптов ротаторов изображений в данном скрипте не нужно прописывать все имеющиеся изображения в массив. Скрипт сам выберет из указанных папок изображения с указанными расширениями и выберет среди них случайное.
Для примера обновите пару раз данную страничку, и вы увидите что чуть ниже три маленьких изображения в виде цифр будут случайным образом меняться. Мы специально сделали маленькие изображения, чтобы они не влияли на скорость загрузки сайта.
Как видите, скрипт может быть очень полезен для некоторых сайтов, например, для различных фотогалерей и т.д. Ниже располагается PHP код, который и реализует показ случайного изображения из указанной папки:
<?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]);
}
//выбираем случайное изображение из папки
$img_random = $images[rand(0,sizeof($images)-1)];
$img_src = $folder."/".$img_random;
echo '<img src="'.$img_src.'" alt="">';
?>
Данный скрипт хорош тем, что он не использует базу данных и не нужно прописывать для выбора случайного изображения все изображения в массив. Если Вы добавили или удалили несколько файлов в папке, то ничего страшного не произойдет, т.к. скрипт сканирует папку и выбирает только из имеющихся изображений. Для добавления группы изображений достаточно просто указать скрипту папки с изображениями и скрипт сам найдет в них все изображения и выберет из них случайное.
Если заменить !strstr($all_files[$i],".png") на !strstr($all_files[$i],"picture"), то будут выбираться только изображения в имени которых присутствует picture.
Перед публикацией все комментарии проходят обязательную модерацию!
Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
P.S. Дальнейшее обсуждение перенес на наш форум в виде отдельной темы.
К каждой картинке своя ссылка и свой title. Спасибо!
$img = array("Banner1.png", "Banner2.png", "Banner3.png", "Banner4.png");
$titles = array("Заголовок 1", "Заголовок 2", "Заголовок 3", "Заголовок 4");
$urls = array("link_1.php", "link_2.php", "link_3.php", "link_4.php");
$rnd = rand(0,sizeof($img)-1);
echo $titles[$rnd].'<br><a href="'.$urls[$rnd].'"><img src="'.$img[$rnd].'" alt="">';
Например: есть папка, в которой 100 файлов txt, в каждом файле по 1000 строк. Нужно выбирать случайный файл и случайную строку и выводить её.
Заранее благодарен!
2) Периодически изображение не подгружается - то есть ощущение, что скрипт выбирает несуществующую картинку или высчитывает количество картинок больше чем их есть на самом деле.