Показ случайной картинки на сайте при помощи РНР

Рассмотрим вывод на странице сайта произвольной картинки из директории. Для этого нам нужно зайти в директорию где находятся изображения, затем просмотреть количество изображений и с общего количества показать n-ю картинку. Реализовывать мы это будем как вы уже догадались с помощью РНР.

И так, сначала нам нужно создать две переменные. Одна будет указывать директорию в которой находятся наши изображения, а вторая хранить массив с названиями изображений.

$dir = "путь к папке с изображениями"; // Указываем директорию в которой находятся наши изображения. Например: http://mypage.ua/img/
$img_a = array(); // Создаем пустой массив для хранения названий изображений

После созданий переменных приступаем к проверке наличия изображений в директории, а также их добавления в массив.

if (is_dir($dir)){  // Проверяем действительно ли переменная содержит путь к папке
	if($od = opendir($dir)){ // Открываем папку
		while(($file = readdir($od)) !== false){ // Проверяем все файлы что находятся в папке
			if(strtolower(strstr($file, "."))===".jpg" || strtolower(strstr($file, "."))===".gif" || strtolower(strstr($file, "."))===".png"){ // Выделяем с всех файлов только изображения. Как правило это файлы с расширением: .jpg, .gif, .png
				array_push($img_a, $file); // Если файл действительно имеет расширение изображения добавляем его в массив
			}
		}
		closedir($od); // Закрываем папку
	}
}

Теперь наша вторая переменная содержит в себе массив с именами изображений. Нам осталось только вывести одно из них на страницу нашего сайта. Для этого создадим переменную которая будет генерировать случайное число от 1 до количества записей в массиве n.

$rd = rand(0, count($img_a)-1); // Получаем случайное число от 1 до количества записей в массиве

Ну и все что нам осталось так это вывести изображение на страницу сайта. Для этого используем тег
 <img> 
в котором и зададим высоту (height) и ширину (weidth) нашего изображения.

print '<img src=' . $dir.$img_a[$rd] . ' weidth="900px" height="650px"> '// Выводим изображение с директории и задаем высоту и ширину изображения

В результате мы получаем следующий РНР код:

<?php
$dir = "путь к папке с изображениями"; 
$img_a = array(); 

if (is_dir($dir)){  
	if($od = opendir($dir)){ 
		while(($file = readdir($od)) !== false){ 
			if(strtolower(strstr($file, "."))===".jpg" || strtolower(strstr($file, "."))===".gif" || strtolower(strstr($file, "."))===".png"){ 
				array_push($img_a, $file);
			}
		}
		closedir($od); 
	}
}

$rd = rand(0, count($img_a)-1); 
print '<img src=' . $dir.$img_a[$rd] . ' weidth="900px" height="650px"> '
?>

И так код показа картинки мы написали что дальше? Нужно его применить и тут собственно два пути.
Первый просто вставить вышеуказанный код в HTML документ в то место где вы хотите отобразить картинку.
Второй создать текстовый документ с вышеуказанным кодом и сохранить его с расширением .php например (random_img.php). После того как документ создан копируем его в корневой каталог вашего сайта и в HTML документ в то место где вы хотите отобразить картинку пишете следующую строку:

<?php include("random_img.php"); ?>

Если все сделано верно то при каждом обновлении страницы на вашем сайте в случайном порядке будут отображаться картинки из указанной вами директории.
Tags:
вывод изображения, рандом, картинка, PHP

You can't comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author's username will be hidden by an alias.