-->
   
-->

Главная

ТАРИФЫ ХОСТИНГА
АРЕНДА СЕРВЕРОВ
КЛИЕНТАМ
ТЕХ. ПОДДЕРЖКА
РЕССЕЛЕРАМ
ПРОГРАММЫ И УСЛУГИ
ИНФОРМАЦИЯ
О КОМПАНИИ

  

Скрипт показа баннеров на PHP4

 

Опубликовано:
26.12.05

Источник: http://amber.al.ru

Скрипт показа баннеров на PHP4

 

Скрипты показа баннеров, изложенные в этой статье довольно элементарны. Описания баннеров, количество кликов и показов хранится в текстовом файле, поэтому наличия MySQL не требуется.

Для начала создадим файл, в котором будем хранить всю информацию. Назовем его database.txt. Файл будет содержать записи следующего формата:
URL1|IMG1|NAME1|WH1|SHOW1|CL1
URL2|IMG2|NAME2|WH2|SHOW2|CL2
...
Где эти мистические слова означают следующее:
URL - ссылка баннера, куда будет переходить пользователь по клику;
IMG - имя файла изображения, которое будет выводится на экран;
NAME - alt-текст изображения;
WH - строка вида WIDTH=XX HEIGHT=XX, ширина и высота изображения; если все изображения одного размера, соответственно можно упростить скрипт;
SHOW - показы баннера, пишем изначально 0;
CL - клики по баннеру, пишем тоже 0;
Разделим логику на два файла. Один файл будет отвечать за показ баннера, назовем его banner_show.php, другой - за учет кликов по баннеру, назовем его banner_click.php. Пишем baner_show...
Сначала надо загрузить файл, в котором хранится описание баннеров:
<?
$array_bann = file ('database.txt');
Потом - инициализируем генератор псевдослучайных чисел, выбираем случайную запись из считанного файла, разделяем ее на элементы через признак "|" и заносим их в массив $data_bann.
srand((double)microtime()*1000000);
$pos = rand(0,sizeof($array_bann)-1);
$data_bann=explode ("|", $array_bann[$pos]);
Далее выводим на экран собственно сам баннер на основе данных из массива $data_bann;
echo "<a href=banner_click.php?banner=$pos target=_blank><IMG SRC='$data_bann[1]' ALT='$data_bann[2]' $data_bann[3] border=0></a>";
Увеличиваем счетчик показов баннера на единицу.
$data_bann[4]++;
Склеиваем измененную запись и записываем весь массив в файл;
$array_bann[$pos]=join('|',$data_bann);
$fp= fopen ('database.txt',"w");
flock($fp,3);
fwrite ($fp, join('',$array_bann));
fclose ($fp);
?>
Теперь займемся файлом banner_click.php. Открываем файл с данными.
<?
$array_bann = file ('database.txt');
В переменной $banner - у нас уже переданный из html-файла номер баннера, по которому кликнули. Берем запись, соответствующую этому номеру, опять разделяем ее на кусочки через "|" и заносим это в массив $data_bann.
$data_bann=explode ("|", $array_bann[$banner]);
Увеличиваем счетчик показов на единицу, склеиваем запись обратно в $array_bann.
$data_bann[5]=$data_bann[5]+1;
$array_bann[$banner]=join('|',$data_bann)."\n";
И записываем изменненный массив в файл database.txt.
$fp= fopen ('database.txt',"w");
flock($fp,3);
fwrite ($fp, join('',$array_bann));
fclose ($fp);
Отфутболиваем пользователя по адресу, хранящемуся в переменной $data_bann[0];
header("Location: http://$data_bann[0]");
?>
В заключение хочется добавить, что от накрутки кликов можно некоторым образом защитится, используя запись кукисов в одном скрипте и считывание их в другом.

Автор: R.Ambersky


Версия для печати

Назад

Проверить домен

ru  com net

Новости компании

02.04.10
Технические работы на сервере!

В пятницу 3-го апреля 2009 г. возможен кратковременный перерыв в работе сервера с 17 до 18 часов в связи с проводимыми техническими работами. ...


08.09.08
ВНИМАНИЕ!!! Пользователям сервера PRO-HOSTING!

В связи с технической необходимостью, мы вынуждены перевезти оборудование из датацентра СТЕК в новый, более современный и удобный датацентр на Остаповском проезде. Переезд оборудования будет осуществл...


15.04.08
Новая рекламная акция нашей компании.

Вас не устраивает Ваш хостинг провайдер, но деньги оплачены и жалко их терять. Мы готовы предоставить Вам альтернативу. Выбрав нас, Вы получаете возможность перехода от своего старого хостинг провайд...


01.02.08
Специальная акция "Автоматизируй свой сайт"

Скидка 30% на покупку системы управления сайтом SSPRO. Установка системы управления производится бесплатно. Подробнее о системе управления сайтом смотрите на странице: Система управления сайтом ...


20.12.07
С новым 2008-м годом

Поздравляем всех клиентов и посетителей сайта с новым 2008 годом, желаем успехов в новом году, здоровья и счастья. Коллектив ООО " ССПРО ХОСТИНГ"  ...


06.02.07
Профилактические работы на сервере

Уведомляем Вас о том, что 06/02/2007 на сервере ONLINEHOST.RU администраторами датацентра "STACK" запланировано отключение электропитания, связанное с профилактическими работами на монтажной стойке. Н...



Откуда Вы узнали о нас


Баннерные показы
Баннерные показы
Баннерные показы
Баннерные показы
Баннерные показы
Баннерные показы
Баннерные показы


2002-2009 (с) ООО "ССПРО Хостинг"
+7 495 77-88-33-9  Карта сайта,
Разработка сайта Cве-Арт | Cms Sspro