Счетчик посещений - важная составляющая любого сайта. Он позволяет отслеживать статистику посещений сайта, длительность сессии, регион посетителя и даже примерный его возраст.
Неотъемлимым минусом онлайн счетчика является обратная ссылка на сайт-создатель. Это особенно вредно для молодых сайтов. Поэтому рассмотрим PHP код, который позволит организовать счетчик посещений своими средствами.
Функционал такого счетчика очень простой - он будет хранить все данные в файле count.txt, в формате: сегодняшняя_дата:0,0%%%0,0. Где первые две цифры до %%% - число просмотров и число посетителей за сегодня, а цифры после %%% - просмотры и посетители за все время. Когда посетитель заходит на сайт, то ему будет присвоена уникальная кука. За счет нее пользователь будет запомнен на 24 часа и сколько бы раз он не обновлял страницу, будет считаться сайтом, как одним посетителем. Будет расти лишь число просмотров, если он будет просматривать сайт.
PHP код онлайн счетчика с комментариями:
<?php
//Установка счетчика - ставится в начале страницы
//Для настроек - указать путь, где будет создаваться файл счетчика
$files = $_SERVER['DOCUMENT_ROOT']."/templates/wordpress_58465/count.txt";
if ( !file_exists($files) ) {file_put_contents($files, date('d.m.Y').":0,0%%%0,0"); } //создаем и записываем данные по умолчанию, если файла нет
else {
$rez = file_get_contents($files);
$rez = explode("%%%", $rez);
//В массиве $rez[0]: 19.05.2014: 0, 0 - т.е. дата, кол просм, кол посет.
//В массиве $rez[1]: 0, 0 - кол просм, кол посет. за все время
$rezall = explode(",", $rez[1]);
//echo $rezall[0]; //Просмотры за все врем
//echo $rezall[1]; //Посетители за все время
$rezdata = preg_replace('/:.*/', '', $rez[0]); //В $rezdata только дата типа 19.05.2014
$rezpr = preg_replace('/.*:/', '', $rez[0]); //В $rezpr только данные типа 0,0
$rezpr = explode(",", $rezpr); //В $rezpr[0] - просмотры, $rezpr[1] - посетители
if (strtotime(date('d.m.Y')) == strtotime($rezdata)) {
$rezpr[0] = $rezpr[0] + 1; //просмотры +1
if (!isset($_COOKIE['visitors'])) {
setcookie("visitors", "yes", time()+3600*24); //уникальный посетитель на 24 часа
$rezpr[1] = $rezpr[1] + 1; } //посетитель +1
file_put_contents($files, date('d.m.Y').":".$rezpr[0].",".$rezpr[1]."%%%".$rezall[0].",".$rezall[1].""); //записываем результат в файл
}
else { //Дата устаревшая Обнуляем счетчик за сегодня, а старые данные добавляем к за все время
$rezall[0] = $rezpr[0] + $rezall[0]; //сохраняем все просмотры
$rezall[1] = $rezpr[1] + $rezall[1]; //сохраняем всех посетителей
if (!isset($_COOKIE['visitors'])) {
setcookie("visitors", "yes", time()+3600*24); //уникальный посетитель на 24 часа
$ynikuser = 1; } //посетитель +1
else $ynikuser = 0;
file_put_contents($files, date('d.m.Y').":1,".$ynikuser."%%%".$rezall[0].",".$rezall[1].""); //записываем результат в файл
}
}
//Вывод данных счетчика
$rezview = file_get_contents($files);
$rezview = explode("%%%", $rezview);
$rezview = preg_replace('/.*:/', '', $rezview[0]);
$rezview = explode(",", $rezview);
echo "Просмотров: ".$rezview[0];
echo " Посетителей: ".$rezview[1];
?>
Из настроек вам нужно только указать путь к файлу в $files count.txt.
Чтобы скрипт работал, его можно вставить в шапку или футер сайта. Никто не запрещает использовать метод include.
Информация, которая выводится (//Вывод данных счетчика) реализована в простом выводе данных. Если вам нужно ее красиво оформить, то используйте верстку и CSS.
Добавить комментарий