RTFM! статьи, советы, скрипты
::Заработок с помощью сайта ::JScript по-русски! ::Все русские мануалы::
МЕНЮ
О САЙТЕ
НОВОСТИ
СТАТЬИ
КНИГИ
АППЛЕТЫ
СВЯЗЬ

СЧЕТЧИКИ
Rambler's Top100
Рейтинг@Mail.ru
Яндекс цитирования

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

Автор: Ambersky Сайт: http://www.webclub.ru/     Рейтинг: N/A из 7       <<НАЗАД
   
   Скрипты показа баннеров, изложенные в этой статье довольно элементарны. Описания баннеров, количество кликов и показов хранится в текстовом файле, поэтому наличия 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]");
   ?>
   В заключение хочется добавить, что от накрутки кликов можно некоторым образом защититься, используя запись cookie в одном скрипте и считывание их в другом.
   
   
   


<<НАЗАД      ОЦЕНИТЬ СТАТЬЮ    ВЕРСИЯ ДЛЯ ПЕЧАТИ>>
Статья прочитана :  раз.




пейкюлю



 
 
 
 
 
pauk ©® 2000-2015. All rights reserved.
При перепечатке ссылка на сайт и указание обязательны.
Мнение администрации сайта не всегда совпадает с мнением автора.
Орфография и пунктуация - авторские.
Администрация не несет никакой ответственности за использование материалов.
.
Protected by Copyscape DMCA Takedown Notice Infringement Search Tool