Как сделать Banner?
| |
|
Данный скрипт предназначен для реализации простой баннерной системы и
позволяет ротировать несколько картинок на одном месте страницы. Список
картинок (баннеров) и алгоритм показов задается в текстовом файле, что
позволяет легко настраивать систему.
Скрипт может вызываться несколько раз на странице, что можно использовать
для размещения нескольких баннеров. Вызов скрипта может осуществляться через
SSI (предпочтительно), или через обычный HTML-код IMG SRC, с использованием
cookies для сохранения информации о клике.
Вы можете размещать баннеры на своих страницах или покупать показы в чужих
баннерных сетях, показывая свои баннеры через данную систему. Это позволит Вам
рассчитываться с покупателями Ваших баннеров или проверять работу
чужой баннерной системы.
Учтите, что это не полномасштабная баннерная система а достаточно простое
приложение, используемое для локальных целей. Не пытайтесь сделать из него
коммерческую баннерную систему - Вы быстро столкнетесь с ограничениями, как
по функциональности, так и по ресурсам отведенных одному виртуальному
серверу.
Данное приложение управляется двумя текстовыми файлами -
файлом заданий и файлом групп.
Файл заданий bn.tsk
Этот файл описывает все баннеры, заведенные в систему, 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
Файл групп groups.tsk
Этот файл описывает алгоритм показа баннеров. Если его нет, то система
просто показывает все баннеры из файла задания.
Формат:
[имя группы] [число показов] [число кликов]
Показ - это демонстрация баннера на странице
Клик - это зафиксированный
переход на указанную ссылку.
Если число показов или кликов = 0, то баннеры данной группы не показываются.
Если оно = -1, или не заданно, то ограничений на показ данной группы нет.
Можно задать количество показов явно. Например, сделать его равным 10 или
1000. Таким образом, Вы можете независимо регулировать показы двумя
параметрами.
Если задано число показов, то при каждом показе данное значение уменьшается
на 1. Когда значение станет 0, показы прекратятся.
Аналогичный алгоритм работает при кликах - при каждом клике, значение
уменьшается, при достижении 0, прекращаются показы (а не клики).
Таким образом показы будут продолжаться пока оба числа больше нуля.
Файл при каждом запуске переписывается полностью. Будьте осторожны, когда
его меняете - система, как и Ваш сервер, работает непрерывно 24 часа в день,
7 дней в неделю.
Если файла нет, то используются следующие параметры:
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.*" в Unix shell
(если у Вас есть доступ к нему) или аналогичной командой в Вашем ftp
клиенте.
Учтите, что для нормальной работы скрипта, он должен вызываться
от / или с Вашего www сервера. Запуск в виде http://www.postman.ru/cgi/bn.pl
- недопустим, и работать не будет. То есть, нельзя использовать вызов этого
скрипта не с ресурсов, которые размещены на хостинге компании "Зенон
Н.С.П.".