Как стать автором
Обновить

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

Рассмотрим вывод на странице сайта произвольной картинки из директории. Для этого нам нужно зайти в директорию где находятся изображения, затем просмотреть количество изображений и с общего количества показать 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"); ?>

Если все сделано верно то при каждом обновлении страницы на вашем сайте в случайном порядке будут отображаться картинки из указанной вами директории.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.