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


Скрипт показа баннеров на PHP
Скрипт показ баннеров, изложенный в этой статье довольно элементарен.
Скрипт показ баннеров, изложенный в этой статье довольно элементарен. Описания баннеров, количество кликов и показов хранится в текстовом файле, поэтому наличия 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єnner_click.php?banner=$pos target=_blank>";
echo "<IMG SRC='$data_bann[1]'";
echo "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]");
?>

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



Оценить Статью:  
1   2   3   4   5   6   7   8   9   10    

« Назад
SAPE все усложнил?

MainLink - простая и прибыльная продажа ссылок!

Последние поступления:

Linux Optimization

Размещена 30 июля 2012 года

Prelink

читать далее…

Размещена 06 апреля 2012 года

С детства мечтаю увидеть трёх животных: ёшкиного кота, бляху муху и сидорую козу!!!

Размещена 01 января 2012 года

Иду по лесу… Дождь, ветер, ночь… Замерз весь… Смотрю — машина стоит, подхожу, в окошко смотрю — там никого. Дверцу попробовал — открыто, ну я залез и сижу… вдруг машина поехала! Я в шоке… машина едет, я сзади сижу, за рулем никого… тут рука волосатая появляется откуда-то, порулила и исчезла… у меня волосы на попе зашевелились… тут деревня показалась, вот уже дома первые… тут машина останавливается, в салон другой мужик заглядывает и говорит:
— а ты че тут делаешь???
— да вот, еду…
— ах**ть просто!!! я толкаю, а он б*** едет!

Запуск приложений на отдельном X-сервере

Размещена 18 ноября 2011 года

Запуск игр в отдельном X сервере на примере Warcraft

читать далее…

Размещена 10 октября 2011 года

Обсуждение новости "В Японии изобрели устройство для имитации поцелуев":

...Как сообщается, с помощью этого устройства "поцеловаться" могут двое интернет-пользователей, которые находятся на удалении друг от друга...

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