Простая баннерная система
| |
|
Данный скрипт позволяет ротировать несколько картинок на одном месте
страницы. Список картинок (банеров) и алгоритм показов задается в текстовом
файле, что позволяет легко настраивать систему.
Скрипт может вызываться несколько раз на странице, что может быть
использовано для размещения нескольких банеров. Вызов скрипта
может осуществляться через SSI (предпочтительно), или
через обычный IMG SRC, с использованием cookies для сохранения
информации о клике.
Вы можете размещать банеры на своих страницах или покупать показы в чужих
банерных сетях, показывая свои банеры через данную систему. Это позволит Вам
рассчитываться с покупателями Ваших банеров или проверять работу
чужой банерной системы.
Учтите, что это не полномасштабная банерная система а достаточно простое
приложение, используемое для локальных целей. Не пытайтесь сделать из него
коммерческую банерную систему - Вы быстро столкнетесь с ограничениями, как
по функциональности, так и по ресурсам отведенных одному виртуальному
серверу.
Данное приложение управляется двумя текстовыми файлами -
файлом заданий и файлом групп.
Файл заданий
Этот файл описывает все банеры заведенные в систему, URL для клика,
и принадлежность банера к како-либо группе.
Формат:
<путь к картинке> <ссылка> [группа]
Файл состоит из трех колонок, которые разделяются любым количеством пробелов или
знаков табуляции. В первой колонке надо поместить ссылку на картинку
(абсолютный URL или относительный путь от директории www),
а во второй колонке - ссылку, по которой отправиться кликнувший на баннер
посетитель. При этом картинки могут находится как на Вашем сервере, так и лежать
на других серверах.
В третей колонке можно указать принадлежность данного банера к определенной
группе, значение по умолчанию - default
Пример:
banners/banner01.gif http://www.hobby.ru
http://hobby.ru/img/banner02.gif http://www.hobby.ru
http://hobby.ru/img/banner03.gif http://www.aha.ru aha
http://hobby.ru/img/banner04.gif http://www.aha.ru aha
http://hobby.ru/img/banner05.gif http://www.aha.ru aha
Файл групп
Этот файл описывает алгоритм показа баннеров. Если его нет, то система
просто показывает все банеры из файла задания.
Формат:
[имя группы] [число показов] [число кликов]
Показ - это демонстрация банера на странице
Клик - это зафиксированный переход на указанную ссылку.
Если число показов или кликов = 0, то баннеры данной группы не показываются.
Если оно = -1, или не заданно, то ограничений на показ данной группы нет.
Таким образом Вы можете независимо регулировать двумя параметрами.
Если задано число показов, то при каждом показе данное значение уменьшается
на 1. Когда значение станет 0, показы прекратятся.
Аналогичный алгоритм работает при кликах - при каждом клике, значение
уменьшается, при достижении 0, прекращаются показы (а не клики).
Таким образом показы будут продолжаться пока оба числа больше
нуля.
Файл при каждом запуске переписывается полностью. Будьте осторожны, когда
его меняете - система, как и Ваш сервер, работает непрерывно 24h/day,
7day/week.
Если файла нет, то используются следующие параметры:
default -1 -1
Т.е. показывать все всегда.
Пример:
default -1 -1
aha 10000 1000
customer 8653 53
Параметры скрипта
- conf - имя файла с заданиями. Если не задано - то www/bn.tsk
- log - имя файла в который записывается информация о показах и кликах.
Если не задано - то www/bn.log
- usr - эккаунт являющийся владельцем виртуального сервера. Если не задано - вычисляется из HTTP_REFERER
- act - показ или клик. По умолчанию делается показ банера, если
act=ref - делается клик (переход на заданный сайт или страницу).
В случае вызова через SSI все остальные параметры рассматриваются как
параметры конструкции <IMG SRC...
Используя параметр conf, можно делать несколько файлов заданий, для
разных целей. Файл групп всегда общий. Его имя - groups.tsk
Образец HTML текста для показа банеров, с использованием SSI:
<!--#include virtual="/cgi/bn.pl?conf=banner.cfg&width=468&height=60&border=0"-->
Образец HTML текста для показа банеров, с использованием cookies
для сохранения информации о адресе клика.
<a href="/cgi/bn.pl?conf=banner.cfg&act=ref">
<img src="/cgi/bn.pl?conf=banner.cfg" width=468 height=60 border=0>
</a>
Файлы, находящиеся в домашней директории:
- bn.tsk - файл заданий
- groups.tsk - файл групп
- *.pos - порядковый номер последнего показанного банера в
соответствующем задании
- bn.log - журнал статистики
В отличии от первоначальной версии данного скрипта, все файлы теперь
находятся вне web пространства, и недоступны для посетителей. Для
совместимости, новый скрипт пытается найти bn.tsk в директории www.
Все указанные файлы должны быть созданы вебмастером с правами записи на
группу (rw-rw-r--). Это можно сделать командой "chmod g+w bn.*" или
аналогичной командой в вашем ftp клиенте.
Учтите, что для нормальной работы скрипта, он должен вызываться
от / или с Вашего www сервера. Запуск в виде http://www.postman.ru/cgi/bn.pl
- недопустим, и работать не будет.