Решил сделать на своем сайте ротацию баннеров от различных партнерских программ. Сайт самописный и различные готовые решения, которые есть, например, для WordPress не подходят (кстати, в WordPress для этих же целей я использую плагин AdRotate, весьма удобный).
Поскольку простейшая ротация баннеров не требует слонжого программирования, то на создание скрипта и его тестирование отладку ушло ~20 минут.
Код баннерного ротатора выглядит следующим образом.
<? function rotator($filename) { if (file_exists($filename)) // проверяем наличие файла { $s=file_get_contents($filename); // читаем файл в строку $n = explode("###", $s); // разделяем строку на отдельные баннеры $r = rand(0,count($n)-1); // выбираем случайное число (по кол-ву баннеров) echo $n[$r]; // выводим код баннера в поток вывода } } ?>
Для удобства использования ротатор реализован в виде функции, параметром которой является имя файла с HTML-кодом рекламных объявлений.
Файл с рекламными объявлениями выглядит следующим образом.
<a href="http://codething.ru/">Уголок веб-разработчика</a> ### <a href="http://blog.codething.ru/">Блог веб-разработчика</a> ### <a href="http://forum.codething.ru/">Форум о веб-разработке</a>
В качестве разделителя используется последовательность ###.
Вызов показа баннеров выполняется в коде следующим образом
<?php include ("rotator.php"); rotator("file"); // запускаем с именем файла, в котором код баннеров ?>
Задача ротации баннеров решена.
Спасибо! Все супер ))
Спасибо. Работает, но как выводить в другой директории сайта?
Например, в разделе сайта, где идет генерация директорий.
Пользоваться абсолютными путями, вместо относительных. Абсолютный путь можно построить от переменной $_SERVER['DOCUMENT_ROOT'], дописав свои "хвосты".
Я не программист, но глядя на ваш скрипт, не увидел в нем ни одного намека на присутствие файлов баннеров, т.е. картинок gif, png, jpg с конкретными размерами. Может, они спрятаны под именем filename?
Нет, не так. Этот ротатор баннеров лишь выбирает случайный HTML-код из файла с набором таких кодов. Там могут быть как текстовые блоки, так и графические, что угодно. Внизу статьи есть как пример файла с HTML-кодом, так и пример вызова ротации из файла file.
А если это всё таки использовать на Вордпресс? Тогда первую функцию надо надо вставить в function.php?