Пишем скрипт показа баннеров!!! Просто! (Рейтинг: +4)
Обсуждаем сдесь: http://visavi.net/forum/topic.php?tid=13624&
Скрипты показа баннеров, изложенные в этом блоге довольно элементарны. Описания
баннеров, количество кликов и показов хранится в текстовом файле, поэтому наличия
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...
Сначала надо загрузить файл, в котором хранится описание баннеров:
Теперь займемся файлом banner_click.php. Открываем файл с данными.
В заключение хочется добавить, что от накрутки кликов можно некоторым образом
защитится, используя запись кукисов в одном скрипте и считывание их в другом.
Добавил: Максим
12.09.2010 / 20:38Скрипты показа баннеров, изложенные в этом блоге довольно элементарны. Описания
баннеров, количество кликов и показов хранится в текстовом файле, поэтому наличия
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]"); ?>
В заключение хочется добавить, что от накрутки кликов можно некоторым образом
защитится, используя запись кукисов в одном скрипте и считывание их в другом.
Рейтинг:
+4
Просмотры: 2690Комментарии (6) »