Ротатор - простейший php скрипт для рекламы товаров и услуг

ротатор на phpРотатор происходит от английского "rotate", что означает вращать. Отсюда и название скрипта "ротатор". Зачем он нужен? Ясный пень для ротации или если по нашему, то для вращения. Что вращать? Да все, что угодно, баннеры, картинки с подписями и без, текстовую рекламу. и т. п.

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

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

В этом посте речь пойдет о простейшем скрипте ротатора написанном на php, хотя его можно создать и на java, но об этом постараюсь написать в следующем посте. Для начала напишем круговой ротатор, например для семи html файлов, в качестве которых могут быть картинки, баннеры, текст и т.п. и постараемся дополнить скрипт, например генератором случайных чисел для случайного показа файлов.

Итак, для начала в качестве примера можно использовать ротатор базового сайта http://acvarif.info и сделать так:


//Последовательная ротация html файлов

//Открытие, если нет создание текстового файла //rt.txt для хранения числа ротатора и запись его в $doc
$doc = fopen("rt.txt", "a+");
//Чтение данных текстового файла и запись в переменную $rnd
$rnd = fread($doc,100);
//Присваивание переменной $textrotate заголовка рекламного блока
if($rnd == 1 or $rnd == 2 or $rnd == 3 or $rnd == 4)
$textrotate = "Радиолюбителям";
elseif($rnd == 5)
$textrotate = "Агрономам";
elseif($rnd == 6)
$textrotate = "Энергетикам";
elseif($rnd == 7)
$textrotate = "Работа в Интернете";
// Присваивание переменной $rot пути и названия html файла с рекламой
$rot = $rnd.".html";
// Запись содержимого html файла с рекламой в переменную $rotate рекламой
$rotate = implode ( "", file ( "$rot" ) );
// Увеличение на 1 ротатора
$rnd++; if($rnd == 8) $rnd = 1;
// Усечение файла находящегося в $doc до минимального размера
ftruncate($doc,0);
// Запись в $doc числа ротатора
fwrite($doc,$rnd);
// Блокировка и последующее закрытие файла с записанным числом ротатора
flock($doc,LOCK_UN);
fclose($doc);

Явно видно, что все достаточно просто. Число ротатора хранится в текстовом файле, при каждом открытии какой-либо страницы сайта число считывается, увеличивается на 1 затем записывается обратно и так пока не станет равным максимальному установленному числу, после чего число ротатора возвращается в исходное состояние. Имя html страниц при этом будет 1.html, 2.html...Скрипт можно сильно упростить, если воспользоваться функцией генерации случайного числа. Тогда это буде выглядеть так:

srand((double)microtime()*1000000);
$rnd = rand(1,7);
//Присваивание переменной $textrotate заголовка рекламного блока
if($rnd == 1 or $rnd == 2 or $rnd == 3 or $rnd == 4)
$textrotate = "Радиолюбителям";
elseif($rnd == 5)
$textrotate = "Агрономам";
elseif($rnd == 6)
$textrotate = "Энергетикам";
elseif($rnd == 7)
$textrotate = "Работа в Интернете";
// Присваивание переменной $rot пути и названия html файла с рекламой
$rot = $rnd.".html";
// Запись содержимого html файла с рекламой в переменную $rotate рекламой
$rotate = implode ( "", file ( "$rot" ) );

Здесь все еще проще. html файлы с рекламой показываются случайным образом. Недостаток в том, что вполне могут быть повторы и они не редки.

Лучший вариант привязывать рекламу по темам к конкретной странице сайта. Как это сделать вариантов много. Догадаться не трудно.

И на последок еще один важный момент. Может кому будет полезен. Это вывод html файла с рекламой, который, кстати, может иметь и любой формат, тот-же php, txt, и др, в нужном месте страницы сайта. Остановимся на том, что страницы сайта имеют тот-же html формат. В этом случае можно сделать так:

1. В том месте, в нужном контейнере или таблице html страницы, где нужно показывать html вставку с рекламой расположить переменную среды типа %reklama%;
2. Считать содержимое html файла с рекламой в какую-либо переменную, как было показано выше
// Запись содержимого html файла с рекламой в переменную $rotate рекламой
$rotate = implode ( "", file ( "$rot" ) );
3. Запустить функцию вывода всей html страницы (например имеюшей название index.html) с html рекламной вставкой.

function html ($path) 
{
global $rotate;
$page = file_get_contents($path);
$page = str_replace ( "%reklama%", $rotate, $down );
echo ("$page");
}
html ("index.html");
exit;

В выводимой странице index.html, какая-либо страница с рекламной вставкой типа 1.html будет выведена втом месте, где стоит %reklama%. Заголовки рекламных блоков и прочую ерунду можно выводить подобным-же образом. Ну, вот собственно и все. Эту тему можно развить в разных направлениях, но примерная суть изложена выше. Кстати для того, чтобы полнее уяснить суть выше сказанного можно скачать тестовую страницу со скриптом ротации в своем составе. Страница оформлена в виде небольшого проекта на Денвере. Архив нужно распаковать в папку home Денвера, запустить Денвер и набрать в браузере rotate.ru

комментариев: (5)