Лічильник відвідувань

Після створення сайту у мене виникла необхідність зробити облік відвідуваності. Треба сказати, що на хостингу і так стоїть WebAlizer, який працює на стороні сервера і збирає досить велику статистику. Але і у нього є свої недоліки, найголовніший - неможливість точно сказати, скільки людей дійсно було на сайті і дивилося сторінки. Суть проблеми полягає в тому, що крім користувачів є ще й різні програми, наприклад, пошукові павуки або програми злому, які також запитують сторінки сайту, але не відображають їх користувачеві. Ще деякі клієнти запитують файли безпосередньо, що, в принципі, не є відвідуванням самого сайту. У зв'язку з цим з'явилося бажання поставити звичайний графічний лічильник, який враховує саме відвідувачів.

Серед великої кількості безкоштовних лічильників, які надають сервіс статистики, я вибрав HotLog. Цей вибір був зумовлений тим, що HotLog, в загальному, непоганий сервіс і надає те саме, чого не вистачає WebAlizer. Їх графічний лічильник показує загальне число відвідувань і прибавку відвідувачів за поточний день.

Однак, після деякого часу використання лічильника, спостерігалася наступна ситуація - сервер статистики, який видає картинку, був недоступний величезну кількість часу. Це і зрозуміло - безкоштовний сервіс працює за залишковим принципом. Але різниця, яка була між хотлоговскім лічильником і WebAlizer, мене не влаштовувала. Так народилася ідея написати дуже простий і швидкий лічильник, який би враховував загальне число відвідувачів, надбавку за день і кількість відвіданих сторінок.

Постановка задачі

Для зберігання статистики я вибрав звичайний текстовий файл, де буде зберігатися всього один рядок. Це буде найшвидший варіант зберігання даних. Звичайно, багато інформації так не збережеш, але мені це і не потрібно.

Рішення завдання

Оскільки лічильник графічний, то найголовніше, що не можна забувати, необхідно перевірити доступність функцій для роботи з графікою. Ці функції не є обов'язковими для PHP і залежать від бібліотеки gd. Тому потрібно завжди перевіряти, чи доступні вони.

Другий момент - графічний фон лічильника. Все-таки набагато естетичний, коли лічильник сам по собі не псує дизайн сайту і вписується в нього органічно. Тому потрібно передбачити два варіанти, коли є підкладка і коли файл-підкладка недоступний. Якщо файлу з фоном немає, то його (фон) потрібно намалювати.

І третє, що потрібно врахувати - блокування файлу на час обробки. Блокувати потрібно на той випадок, якщо буде кілька звернень до файлу статистики одночасно. Якщо ж файл не блокувати, то цілком ймовірно, що буде ситуація, коли або сам файл пошкодиться, або деякі дані будуть загублені.

Пам'ятаючи про все це, можна приступати до написання скрипта.

Схожі статті