Еще чтото
|
Создание счетчика посещений на Perl.
Автор: неизвестен
Редактор: Кирилл Шагин
Что ж, сегодня мы научимся создавать простейшие счётчики для личных Web-страниц. Так как этот вопрос не раз задавался в этом журнале. Конечно, все ниже описанное ни коим образом не посягает на идеал, хотя бы потому, что это один из первых моих счётчиков, а может потому, что мне пока 16... не знаю, но знаю точно, что это работает!
Итак, начнём.
Разберёмся, какие действия должен выполнять наш счётчик:
- считать общее количество посетителей
- считать число уникальных посетителей за день
Теперь обозначим, где будут хранится данные. Я думаю, что удобнее всего их хранить в текстовых файлах, причём таковых будет два: в первом будет храниться вся статистика (т.е. и хиты и хосты). А второй текстовый файл нам очень пригодиться для хранения базы IP. Когда посетитель будет заходить на нашу страничку впервые, то его IP занесётся в базу (чтобы его впредь больше не считать уникальным), в текстовом файле произойдут изменения: увеличатся значения хитов и хостов на 1. Теперь, допустим, тот же человек, с тем же IP заходит повторно к нам на страницу.
Перед тем, как увеличить статистику, следует порыскать в нашей базе, и если такого IP за этот день там нет, значит можно спокойно конкатенировать и то и другое, если же есть, то увеличиваем только хиты. Следует заметить, что в базе IP, кроме самих IP будут храниться дни посещения. И если любой пользователь зайдёт на сайт, допустим, через неделю, и он был единственным за это время то, следовательно база устарела и в результате из неё будут вычищены прошлые данные.
Вот собственно код:
Как встроить счётчик
Для работы счётчика достаточно иметь любой сервер с поддержкой Perl и SSI. С помощью второго мы можем вставить наш счётчик в любое место страницы вот так:
<!--#exec cgi="counter1.pl"-->
для скрипта права 755
для текстовых файлов 666
Ну... вот вроде бы и всё :)
Для новичков, возможно, сложно, но я сам полторы недели как новичок... был. На самом деле главное понять принцип, вы и сами сможете написать что-то подобное или даже лучшее, никто вас не ограничивает. Меня ограничил лишь световой день. Perl советую всем! Он не лёгок, но две недели практики в писании скриптов вам окупятся! Удачи!
|
Инфа, фуфло, ссылки |