Ошибка: Failed to parse the Currency Converter XML document.
$24 192.19


Ошибка: Failed to parse the Currency Converter XML document.
$1 780.15


Ошибка: Failed to parse the Currency Converter XML document.
$2 107.20


Скрипт показа баннеров на 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 «»;
Увеличиваем счетчик показов баннера на единицу.
$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 в одном скрипте и считывание их в другом.

 

Интересное

Flash-технология. Недостатки
Прежде, чем применять Flash на сайте, нужно семь раз отмерить. Оказывается, не все знают, что это такое. Одни применяют Flash от необходимости, другие — от незнания.Дело в том, что Flash — это не...
Подробнее...
Служба Доменных Имен
Служба Доменных Имен предназначена для того, чтобы машины, работающие в Internet, могли по доменному имени узнать IP-адрес нужной им машины, а также некоторую другую информацию; а по IP-номеру...
Подробнее...
Голосование на базе
«А зачем на базе?» — спросите Вы и будете абсолютно правы. В принципе незачем. Просто делая как-то систему управления, я столкнулся с необходимостью дать абсолютно некомпетентному в кодинге...
Подробнее...
Я работаю с Windows Vista....
Шаг за шагом знакомимся с Windows Vista. Сегодня — подробно о том, сколько и какого «железа» требуется для работы с разными версиями новой операционной системы.
Подробнее...
Как выбрать LCD-монитор?
Данная статья призвана помочь вам в таком нелегком деле, как покупка монитора. В данный момент рынок предлагает огромное количество различных моделей, отличие которых многим пользователям не...
Подробнее...
Выявление признаков...
Наблюдение за состоянием жёстких дисков.По грубым подсчётам, 60% всех случаев повреждения винчестеров имеют механическую природу (износ подшипников, хрупких дисков и головок чтения/записи)....
Подробнее...
Отправка SMS при помощи Delphi
Алгоритм работы приложения для отправки sms достаточно простой. При помощи компонента twebbrowser нужно реализовать отправку данных на веб-сервер сотового оператора, содержащих информацию о...
Подробнее...
Полезные возможности...
Утилита Windows XP «Восстановление системы» (System Restore) позволяет возвращать последнюю удачную конфигурацию системы в случае возникновения различных проблем. Для этого утилита постоянно...
Подробнее...
Уход за компьютером
Сегодняшний компьютер совсем не похож на своих предков десятилетней давности. Трудно себе представить, что когда-то в больших просторных комнатах стояли исполинские ящики, обслуживаемые людьми в...
Подробнее...
Планирование сайта в целом
Прежде, чем воплощать страничку «в битах и байтах», неплохо было бы представить, какой Вы ее хотите видеть. А еще лучше сделать эскиз на бумаге или в том же «Paint»-e, если Вам удобнее...
Подробнее...