Скрипт для ротации баннеров

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

Задача ротации баннеров решена.

Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Google Plus
Опубликовать в LiveJournal

6 thoughts on “Скрипт для ротации баннеров

  1. Спасибо. Работает, но как выводить в другой директории сайта?
    Например, в разделе сайта, где идет генерация директорий.

    • Пользоваться абсолютными путями, вместо относительных. Абсолютный путь можно построить от переменной $_SERVER['DOCUMENT_ROOT'], дописав свои "хвосты".

  2. Я не программист, но глядя на ваш скрипт, не увидел в нем ни одного намека на присутствие файлов баннеров, т.е. картинок gif, png, jpg с конкретными размерами. Может, они спрятаны под именем filename?

    • Нет, не так. Этот ротатор баннеров лишь выбирает случайный HTML-код из файла с набором таких кодов. Там могут быть как текстовые блоки, так и графические, что угодно. Внизу статьи есть как пример файла с HTML-кодом, так и пример вызова ротации из файла file.

  3. А если это всё таки использовать на Вордпресс? Тогда первую функцию надо надо вставить в function.php?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *