Всех друзей поздравляем с Новым годом! Всего вам самого наилучшего! Всех благ, здоровья а материальное приложится!
СКРИПТЫ alt htmlcssphpjsblog

Счетчик php посещений, просмотров, скрипт

Поддержи проект!!! smile

Счетчик посещений на php. Сделаем несколько вариантов счетчиков на php! Простой счетчик - когда-то именно с такого счетчика начинал я! счетчик перезагрузок страницы без ограничений! И последний счетчик - он будет ограничен сессией!Скрипт счетчика очень простой! При загрузке страницы прибавить 1, к уже имеющимся посещениям страницы!

Подробно о счетчике посещений для сайта

  1. Самый простой счетчик посещений на php
  2. Через несколько лет счетчик посещаемости из первого пункта переродился в мой счетчик:
  3. Счетчик №2 посещаемости на php
    1. Путь до папки.
    2. Название файла.
    3. Соединяем папку + имя файла, собираем скрипт посещаемости.
    4. Вывод результатов счетчика на экран.
    5. Как получить количество посещений с другой страницы?
    6. Считаем уникальные посещения.
  4. Старый вариант названия файла
  5. Счетчик посещений каждый день
    1. Вывод счетчика в график посещений
    2. Считаем уникальные айпи в день

  1. Самый простой счетчик посещений на php

    Этот скрипт счетчика посещений на php - был самым моим первым счетчиком!

    Алгоритм работы самого простого счетчика посещений на php

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

    А, что есть уникального у страницы, чтобы каким-то образом эту уникальность превратить в название файла для записи данных? Правильно - её адрес. Здесь может быть множество решений!

    В переменную $counter получаем с помощью file_get_contents данные из файла и сразу прибавляем единицу.

    С помощью функции file_put_contents перезаписываем данные в файле. Если данные записались, проверяем существует ли переменная $write, если да, то можно сообщить, что "Ваш вход засчитан" - эта информация пользователю не нужна, используется в момент тестирования счетчика.

    Скрипт самого простого счетчика на php

    <?

    $path_to_file = '';//будет зависеть от вашего желания и структуры ваших адресов сайта

    $counter = @file_get_contents($path_to_file) +1;

    $write = @file_put_contents($path_to_file, $counter);

    if($write) { $info = '<br>Ваш вход засчитан!'; }

    echo 'Всего перезагрузок : <span style="color:red;">'.$counter.'</span>' . $info;

    ?>

    Это базовый скрипт счетчика, который можно модифицировать до бесконечности!


    Как создать путь и имя файла для счетчика?

    Я специально не стал загромождать данный счетчик, именем и путем до файла - "$path_to_file" - потому, что это может отличаться настолько кардинально! Что вариант может просто не подойти! Ниже рассмотрим два варианта для этой переменной

    Имя файла вариант №1

    Имя файла вариант №2


  2. Счетчик №2 посещаемости на php

    Логика скрипта абсолютно аналогичная, что и в первом пункте.

    Получаем адрес страницы.

    Создаем уникальный идентификатор для названия файла из адреса.

    Функция file_get_contents -получаем данные из файла.

    Прибавляем 1.

    Функция file_put_contents - записываем данные в файл.

    И ещё можно посчитать уникальное количество посещений.

    Единственное, что мы сделаем, это во всех подробностях рассмотрим два варианта создания имени файла для записи.

    И расскажу несколько нюансов, которые будут подстерегать вас на этом пути!




    1. Папка для сохранения результатов подсчета посещений на php

      Если для вас не проблема создания пути до папки, то можно этот пункт пропустить!

      Создаем путь на путь на сервере тоже самое - путь до корневой. Помещаем данный путь в переменную - $home(это просто удобно) :

      $home = $_SERVER["DOCUMENT_ROOT"];

      Выведем echo $home... Результат у вас будет точно будет другим... wall

      home/domen/dwweb_ru/www

      От корневой до папки где будут храниться файлы, прописываем вручную

      home/domen/dwweb_ru/www/__a-data/__COUNT_FOR_FILE/
      Я вам даже ссылку на эту папку дам ... здесь была ссылка на папку, но в связи с тем, что теперь у нас единая точка входа, то посмотреть вы на неё не сможете...




    2. Создание названия файла для счетчика php

      Сперва нам нужен алгоритм

      Алгоритм создания названия фала для записи посещений

      Нужно получить адрес из адресной строки, не будем останавливаться на этом, разбирали этот вопрос здесь

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

      Добавляем расширение, я уже давно использую расширение ".dat" он лучше ".txt" проверено!

      Создаем уникальное имя для файла посещаемости

      Нам понадобится:

      Как уже было выше сказано - получаем адрес страницы

      $domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];
      $parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
      $real_page = $domen . $parse_url
      echo $real_page;

      Выведем живой результат по данной странице прямо здесь (echo $real_page;):

      https://dwweb.ru/page/php/024_schetchik_php.html

      Сделаем из последней строки уникальный идентификатор:

      echo md5($real_page);

      Аналогично выведем здесь результат:

      3dc9b0122855e47f3624bb4d3b6914c0

      Добавляем расширение ".dat"

      echo md5($real_page).".dat";

      Результат:

      3dc9b0122855e47f3624bb4d3b6914c0.dat

      Мы подготовили название файла для записи количества посещений на странице.




    3. Соединяем папку + имя файла, собираем скрипт посещаемости

      Соединяем папку и название файла :

      $path_to_file = $home."/__a-data/__COUNT_FOR_FILE/".md5($real_page).".dat";

      Результат:

      home/domen/dwweb_ru/www/__a-data/__COUNT_FOR_FILE/3dc9b0122855e47f3624bb4d3b6914c0.dat

      Собираем весь код счетчика посещаемости вместе:

      $domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];
      $parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
      $real_page = $domen . $parse_url;

      $path_to_file = $home."/путь_от_корневой/".md5($real_page).".dat";

      $counter = @file_get_contents($path_to_file) +1;

      $write = @file_put_contents($path_to_file, $counter);




    4. Получение результата и вывод количества посещаемости из файла

      Выше приведенный код счетчика размещаем после всех проверок на сайте, и когда 404 не срабатывает, т.е. существующая страница начинает загружаться, то запускаем наш счетчик!

      И в нужно месте выводим количество посещений через php:

      echo $counter;

      Поскольку наш код счетчика, почти копия приведенного то мы можем вывести количество посещений данной страницы

      Либо, как вариант, можно в любой точке страницы получить количество посещений таким образом:

      echo file_get_contents($home."/__a-data/__COUNT_FOR_FILE/".md5($real_page).".dat");

      Результат:

      10251

      Это же число, вы можете наблюдать под первым заголовком, где в том числе находится дата....




    5. Как получить количество посещений с другой страницы?

      Если вам требуется получить количество посещений с другой страницы, то вам нужно передать на неё адрес требуемой страницы.

      На сайте я использую данный счетчик со времени, когда написал самый первый скрипт счетчика

      Пример вы можете посмотреть здесь - справа от названия страницы - количество посещений страницы выводится из файла.
      Как это работает.

      Из базы в цикле получаем адрес страницы, который был записан туда при создании страницы.

      $real_page получаем из базы. Новая строка - новая страница-новый адрес.

      Адрес преобразуем в идентификатор.

      Создаем путь до файла с записанными посещениями.

      Получаем данные.

      Выводим данные.

      Код:

      $path_to_file = $home."/путь_от_корневой/".md5($real_page).".dat";

      $counter = @file_get_contents($path_to_file);

      В самом конце цикла убиваем $counter

      $counter = '';




    6. Считаем уникальные посещения.

      Как сделать, чтобы счетчик посещений считал только уникальные заходы на страницу?

      Давайте сделаем такой счетчик!

      Логика скрипта подсчета уникальных посещений:

      Будем использовать сессию.

      По условию if будем проверять, была ли создана сессия для данной страницы.

      Если нет, то записываем + 1. И создаем сессию по адресу страницы $_SESSION[$real_page]

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

      Код счетчика с подсчетом уникальных посещений:

      session_start();

      $home = $_SERVER["DOCUMENT_ROOT"];

      $domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];

      $parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);

      $real_page = $domen . $parse_url;

      $path_to_file = $home."/ВАШ_ПУТЬ_ДО_ПАПКИ/".md5($real_page).".dat";

      $counter = @file_get_contents($path_to_file );

      if(!$_SESSION[$real_page])

      {

        @file_put_contents($path_to_file , ($counter + 1));

        $_SESSION[$real_page] =1;

      }


  3. Старый вариант названия файла

    Старый вариант названия файл не стал удалять какое-то время. Когда начал пользоваться новым названием файла пункт 2.2, но потом вернулся к старому названию файла для записи посещений!
    Почему?

    Сравните два названия файла, если вы думаете как я , то увидите разницу без объяснений! Новое название:

    3dc9b0122855e47f3624bb4d3b6914c0.dat

    и старое:

    _page_php_024_schetchik_php_html.dat

    Новый вариант названия файла обезличенный и ничего не говорит ни вам, ни мне!

    А вот второй файл говорит, может он вам никогда и не пригодится, но по виду старый все же приятнее.

    Далее..

    Не буду удалять этот вариант, может кому и пригодится...

    От нового отличается тем, что использовали функцию str_replace с помощью неё заменили массив знаков - $array_replace = array("&", "?", "=" , '/');

    $array_replace = array("&", "?", "=" , '/');

    $url_looks = $home.'/__a-data/__COUNT_FOR_FILE/'. str_replace($array_replace, "_", $real_page).'.html' ;

    В результате, мы получаем, такой адрес для записи количества просмотров:

    home/domen/dwweb_ru/www/__a-data/__COUNT_FOR_FILE/_page_php_024_schetchik_php_html.dat
    12/12/2020 P.S.

    Страница полностью переписана...

    Друзья! Для всех кто не в курсе, то мы периодически возвращаемся к старым страницам и одна из таких страниц – это счетчик на PHP, и я его написал, наверно одним из первых кодов вообще!

    И сейчас – это реально невозможно понять и прочитать! Поэтому весь старый контент в мусорку!

    Полностью переписали данную страницу!

    Надеюсь стало понятнее... wall


  4. Счетчик посещений каждый день

    Совсем недавно запустили новый вид счетчика - количество посещений в день.

    На каждый новый день создается отдельная ячейка ассоциативного массива

    Так же прибавляется +1.

    Ограничение по сессии - засчитывается один раз.

    Нам понадобятся две новые функции:

    Нам понадобится $real_page, для ограничения по сессии :

    $domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];
    $parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
    $real_page = $domen . $parse_url

    $path_to_file - копируем какой-то из вариантов - вариант №1 или вариант №2 или создаем самостоятельно.

    Весь счетчик количество посещений по дням:

    $domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];

    $parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);

    $real_page = $domen . $parse_url


    $ARRAY_COUNT_VISITS = @unserialize(file_get_contents($path_to_file));

    if(!$ARRAY_COUNT_VISITS) { $ARRAY_COUNT_VISITS = array(); }

    if (!$_SESSION[$real_page])

    {

    $ARRAY_COUNT_VISITS[(date('d.m.Y'))] ++;

    $ARRAY_COUNT_VISITS['all'] ++;

    @file_put_contents($path_to_file, serialize($ARRAY_COUNT_VISITS));

    $_SESSION[$real_page] = 1;

    }

    Выводим результат через print_r :

    print_r $ARRAY_COUNT_VISITS;
    Результат:

    (в all добавили показания старого счетчика.)

    Этот массив можно преобразовать в график. Нужно только скриптик написать wall

    Поскольку массив каждый раз увеличивается, скрыли его по д "катом"

    Показать




    1. Вывод счетчика в график посещений

      17.02.2021 Наконец-то дошли руки до создания графика из массива - давно такой хотел сделать.

      Как известно - никогда, ни на что не хватает времени - чем же ты занимаешься! Хочется спросить! wall

      Может... мне тут подумалось... тему про графики замутить!?

      (Как делал данный график)

      replace




    2. Считаем уникальные айпи в день

      Интересный поисковый запрос "php скрипт который считает уникальные айпи в день". + $path_to_file смотри выше - это путь до файла с именем файла.(поскольку - адреса у всех сайтов разные, поэтому - эта неизвестная переменная. Выше разбирали два варианта )
      Для этого нам понадобится айпи зашедшего.

      Берем выше приведенный скрипт подсчета посещений в день и добавляем подсчет по "IP"

      $_SERVER['REMOTE_ADDR']

      Здесь мы немного должны разобраться! Зачем добавлять еще один массив вовнутрь ячейки даты. Дело в том, что день - это будет 1 ячейкой, и "IP" - будет тоже ячейкой, которых может быть множество в одном дне. И уже уникальному "IP" добавляем счетчик!

      $ARRAY_COUNT_IP[date('d.m.Y')][$_SERVER['REMOTE_ADDR']] ++ ;
      Пересоберем счетчик для подсчета уникальных "IP"

      Логика абсолютно та же, что и выше приведенный счетчик, только запись будет производиться по уникальному "IP"

      $domen = $_SERVER["HTTP_X_FORWARDED_PROTO"]."://".$_SERVER["HTTP_HOST"];

      $parse_url = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);

      $real_page = $domen . $parse_url


      $ARRAY_COUNT_IP = @unserialize(file_get_contents($path_to_file));

      if(!$ARRAY_COUNT_IP) { $ARRAY_COUNT_IP = array(); }

      if (!$_SESSION[$real_page])

      {

      $ARRAY_COUNT_IP[date('d.m.Y')][$_SERVER['REMOTE_ADDR']] ++ ;

      @file_put_contents($path_to_file, serialize($ARRAY_COUNT_IP));

      $_SESSION[$real_page] = 1;

      }

      Результат получится вот такой:

      Array

      (

      [28.07.2021] => Array

      (

      [3.236.50.201] => 1

      )

      )


Последняя дата редактирования : 14.04.2021 00:36
//dwweb.ru/comments_1_5/include/img/hand_no_foto.png
no
no
Еще никто не прокомментировал! COMMENTS+   BBcode
аватар
🞨
Загрузить свой аватар
(max ширина, высота = 200px)

Подписаться + =
Теги:
counter visitors php счетчик php php счетчик посещений счетчик просмотров php счетчик php на сайт счетчик посещений сайта php как сделать счетчик php php счетчик кликов счетчик просмотров страницы php скрипт счетчик php php счетчик посетителей счетчик посещений страницы php счетчик переходов по ссылке php простой счетчик посещаемости сайта php счетчик посещения страницы php установить счетчик на сайт в php счетчик просмотров страницы сайта на php следим за посещением сайта на php записать посещаемость страницы php counter для сайта php счетчик просмотра страницы для сайта скрипт счетчика посещений сайта php статистика посещения страницы на сайте на php с session простой счетчик просмотров страницы сайта на php счетчик для сайта на php с сохранением в файл счетчик для сайта на php своими руками php скрипт для сайта посещаемость скрипт посещений для сайта счетчик сайта на файлах счетчик посещений на php как сделать счетчик количество заходов на сайт создать свой счетчик для сайта как узнать сколько раз просматривалась страница php

Счетчик в график :

Построение гравиков
Основа для графика : счетчик посещаемости.
Последние комментарии :
Марат :
23/07/2021 10:58
Сам офигеваю...
подробнее.
александр анатольевич таширев :
21/07/2021 02:47
прикольно
подробнее.
Марат :
17/07/2021 04:14
Рад, что помог! Приходите ещё!
подробнее.
Slomal Plintus :
16/07/2021 06:41
спасибо за ответ, очень помогло!
подробнее.
Марат :
12/06/2021 10:04
Рад, что понравилось!Приходите ещё!
подробнее.

текст_ссылки