IZONE - http://www.izcity.com/ - бесплатный софт, вэб-сервисы, ресурсы для раскрутки, свежие номера журнала "Internet Zone".

Делаем счетчик посещений на Perl

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

Пример 1.

Рассмотрим простейший текстовый счетчик, который подсчитывает общее количество посещений и выводит результат на экран.
Определяем путь к файлу, в котором будут храниться показания счетчика:

Открываем файл на чтение, инициализируем счетчик и увеличиваем его значение на единицу:

Открываем файл счетчика на запись и записываем новое значение:

И, наконец, выводим показания счетчика на экран:

Если сохранить данный код в файле counter1.cgi и открыть его в браузере, то на экране мы увидим 1.Если перезагрузить страницу, показание счетчика увеличится на 1. Выводить результаты счетчика можно как кому подскажет фантазия - или просто в виде числа, или вставить его в таблицу, иcпользовав в качестве бэкграунда какой-нибудь фон и т.д. Вставить счетчик в html-страницу можно, используя SSI. Для этого в том месте, где предполагается использовать счетчик, вставьте следующий код:

<!--#exec cgi="path/to/counter1.cgi" -->

Листинг примера 1.

Посмотреть работу

Пример 2.

Усложним предыдущий пример, например, добавив запись в лог-файл, для сбора статистики и сделаем так, чтобы счетчик выводил результат в виде 6 цифр с заполнением впереди нулями, к примеру так:000143. Предыдущая часть кода останется без изменений, только добавим переменную для количества цифр результата.

Далее добавляем следующее:

В этом случае скрипт создаст файл counter.log и всякий раз при перезагрузке страницы будет записывать данные о пользователе - его IP-адрес, имя хоста и время посещения.
Думаю, с этим все понятно. Теперь определим, как скрипт будет выводить результат:

 

Листинг примера 2.

Посмотреть работу

Пример 3.

Далее приведу пример более сложного счетчика, который не только пишет в лог, но и подсчитывает количество посещений общее и за сегодняшний день. Также имеется возможность просмотра статистики через Интернет. Это может делать только хозяин счетчика, вводя свой пароль.
Начальная часть скрипта без изменений.

Далее выводим текущее время в более читабельном формате. Оно будет использоваться при определении количества посещений за сегодня.

В таком виде оно и будет записываться в лог.

Следующий шаг - читаем файл посещений за сегодня, затем открываем для чтения лог и сравниваем дату для каждой строки с сегодняшней. Если они совпадают - увеличиваем показания счетчика и записываем новые показания в файл .

И, наконец, красиво выводим показания счетчика в виде двух строк: нижняя показывает общее количество посещений, а верхняя - посещения за сегодня.

Как вы заметили, в последнем фрагменте имеется ссылка на другой скрипт - для просмотра статистики посещений. Его тоже нужно создать. Этот скрипт получает данные из формы(в данном случае это пароль), декодирует их. Если пароль введен правильно, скрипт открывает лог счетчика, читает данные из него и выводит на страницу, начиная с самых последних.

Посмотреть работу

Пример 4.

Рассмотрим пример графического счетчика, который выводит результат на экран в виде графических цифр. Для этого немного преобразуем пример 2.

Показания записываются в файл в виде 000345, т.е. 6 цифр. Теперь необходимо разбить строку файла на символы и каждый символ сопоставить с графическим файлом. Это делается следующим образом:

Листинг примера 4.

Посмотреть работу

Примеров можно привести множество. Наверное, каждый веб-программист пишет счетчики по-своему. Но я думаю, что приведенные примеры помогут вам понять основной принцип написания счетчиков посещений и создать свой собственный, подобных которому нет :))).

Удачи.

Oleg Tryvol, mailto:olegtr@imail.ru
Ресурсы для web-программистов

 


Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com