Скрипты показа баннеров, изложенные в этой статье довольно элементарны. Описания баннеров, количество кликов и показов хранится в текстовом файле, поэтому наличия 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 в одном скрипте и считывание их в другом.