. Правильный ротатор картинок на PHP | Makarou.com - когда сайты превращаются в бизнес

Правильный ротатор картинок на PHP

Правильный ротатор картинок на PHPПриветствую вас, Уважаемые читатели! Как вы могли заметить, я на протяжении почти целой недели ничего не писал в блог. Связано это с тем, что было много дел, плюс закончился отпуск с работы. Так что приношу свои извинения. Теперь времени достаточно, на днях выйдет в свет новая версия плагина SSD Optimize WordPress. А вот сегодня я хочу вам рассказать и показать, как сделать правильный ротатор картинок.

И так, приступим! ;)

Посмотрев парочку самописных скриптов, проанализировав код и юзабилити, я пришел к выводу, что нужно как-то упростить работу скрипта и сделать его более функциональным. В одном из тех примеров нужно было вручную добавлять каждую картинку в код скрипта. Я посчитал неудобным этот метод  и решил написать код, который рандомно показывает картинки разных форматов из определенной папки.

Для начала мы создадим массив с форматами изображений, которые мы будем выводить.

Пример массива с форматами:


$format=array("jpg","JPG","jpeg","JPEG","GIF","gif","PNG","png");

Далее мы создаем пустой массив, в который будут помещаться названия картинок с путями из выбранных форматов.

Пример создания пустого массива:


$img_rand=array();

Теперь нам нужно пробежаться по папке с картинками и добавить нужные картинки в пустой массив. Для этого мы будет пользоваться циклом for() и функциями: glob() и array_merge().

Функция glob() – помещает все пути и названия файлов с нужным расширением в массив.

Функция array_merge() —  совмещает два и более массива  в один.

Пример пробега по папке и получения массива с картинками:

$c1=sizeof($format);
for($i=0; $i<$c1; $i++){
$add_img=glob("./img/*.".$format[$i]."");
$img_rand=array_merge((array)$add_img,(array)$img_rand);
}

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

Далее мы воспользуемся функцией rand() – которая будет рандомно выдавать нам число от 0 до общего количества картинок в массиве $img_rand.

Пример рандомного получения картинки:

$c2=sizeof($img_rand);
$rand=rand(0,($c2-1));

И вот теперь мы делаем вывод картинки.

Пример вывода картинки:


echo "<img src='".$img_rand[$rand]."'>";

Полный код скрипта – ротатор картинок:

$format=array("jpg","JPG","jpeg","JPEG","GIF","gif","PNG","png");
$img_rand=array();
$c1=sizeof($format);
for($i=0; $i<$c1; $i++){
$add_img=glob("./img/*.".$format[$i]."");
$img_rand=array_merge((array)$add_img,(array)$img_rand);
}
$c2=sizeof($img_rand);
$rand=rand(0,($c2-1));
echo "<img src='".$img_rand[$rand]."'>";

посмотреть — demo.

Вот такой вот скрипт получился, дорогие друзья. На мой взгляд, очень удобное решение, ведь нужно будет только заливать картинки в папку, а остальное сделает сам скрипт. На сегодня это всё, всем удачи и веселых выходных! ;)

php

Понравился пост? добавь его к себе в закладки:
Хочешь быть всегда в курсе обновлений блога? подписывайся через: