SFXack.narod.ru - софт-сайт команды SFXack

| |
Еще чтото

Создание счетчика посещений на Perl.


Автор: неизвестен
Редактор: Кирилл Шагин

Что ж, сегодня мы научимся создавать простейшие счётчики для личных Web-страниц. Так как этот вопрос не раз задавался в этом журнале. Конечно, все ниже описанное ни коим образом не посягает на идеал, хотя бы потому, что это один из первых моих счётчиков, а может потому, что мне пока 16... не знаю, но знаю точно, что это работает!

Итак, начнём.

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

    Теперь обозначим, где будут хранится данные. Я думаю, что удобнее всего их хранить в текстовых файлах, причём таковых будет два: в первом будет храниться вся статистика (т.е. и хиты и хосты). А второй текстовый файл нам очень пригодиться для хранения базы IP. Когда посетитель будет заходить на нашу страничку впервые, то его IP занесётся в базу (чтобы его впредь больше не считать уникальным), в текстовом файле произойдут изменения: увеличатся значения хитов и хостов на 1. Теперь, допустим, тот же человек, с тем же IP заходит повторно к нам на страницу.

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

    Вот собственно код:


    Как встроить счётчик
    Для работы счётчика достаточно иметь любой сервер с поддержкой Perl и SSI. С помощью второго мы можем вставить наш счётчик в любое место страницы вот так:
    <!--#exec cgi="counter1.pl"-->
    для скрипта права 755 для текстовых файлов 666

    Ну... вот вроде бы и всё :) Для новичков, возможно, сложно, но я сам полторы недели как новичок... был. На самом деле главное понять принцип, вы и сами сможете написать что-то подобное или даже лучшее, никто вас не ограничивает. Меня ограничил лишь световой день. Perl советую всем! Он не лёгок, но две недели практики в писании скриптов вам окупятся! Удачи!
Инфа, фуфло, ссылки
Используются технологии uCoz