Как показать количества посетителей двумя кодами?
На странице сайта есть код который показывает количества посетителей в данный момент пока в файле session1.txt хранится информация (30 секунд).
И я хочу добавить тот же код на туже страницу, но с другим временем хранения информации в session2.txt (24 часа). Но так как на странице есть такой же код
<?php echo " ".sizeof(file($base)).""; ?> который показывает число, они не будут показывать каждый отдельную информацию из файлов session1 и session2
Как сделать чтобы каждый код показывал своё число, чтобы каждый транслирующий код был связан со своим кодом, так же как код связан с файлом?!
Вот код:
<?php session_start(); //выделяем уникальный идентификатор сессии $id = session_id(); if ($id!="") { //текущее время $CurrentTime = time(); //через какое время сессии удаляются $LastTime = time() - 30; //файл, в котором храним идентификаторы и время $base = "session1.txt"; $file = file($base); $k = 0; for ($i = 0; $i < sizeof($file); $i++) { $line = explode("|", $file[$i]); if ($line[1] > $LastTime) { $ResFile[$k] = $file[$i]; $k++; } } for ($i = 0; $i<sizeof($ResFile); $i++) { $line = explode("|", $ResFile[$i]); if ($line[0]==$id) { $line[1] = trim($CurrentTime)."n"; $is_sid_in_file = 1; } $line = implode("|", $line); $ResFile[$i] = $line; } $fp = fopen($base, "w"); for ($i = 0; $i<sizeof($ResFile); $i++) { fputs($fp, $ResFile[$i]); } fclose($fp); if (!$is_sid_in_file) { $fp = fopen($base, "a-"); $line = $id."|".$CurrentTime."n"; fputs($fp, $line); fclose($fp); } } ?> <?php echo " <b>".sizeof(file($base))."</b>"; ?> |
<?php session_start(); //выделяем уникальный идентификатор сессии $id = session_id(); if ($id!="") { //текущее время $CurrentTime = time(); //через какое время сессии удаляются $LastTime = time() - 30; //файл, в котором храним идентификаторы и время $base = "session1.txt"; $file = file($base); $k = 0; for ($i = 0; $i < sizeof($file); $i++) { $line = explode("|", $file[$i]); if ($line[1] > $LastTime) { $ResFile[$k] = $file[$i]; $k++; } } for ($i = 0; $i<sizeof($ResFile); $i++) { $line = explode("|", $ResFile[$i]); if ($line[0]==$id) { $line[1] = trim($CurrentTime)."n"; $is_sid_in_file = 1; } $line = implode("|", $line); $ResFile[$i] = $line; } $fp = fopen($base, "w"); for ($i = 0; $i<sizeof($ResFile); $i++) { fputs($fp, $ResFile[$i]); } fclose($fp); if (!$is_sid_in_file) { $fp = fopen($base, "a-"); $line = $id."|".$CurrentTime."n"; fputs($fp, $line); fclose($fp); } } ?> <?php echo " <b>".sizeof(file($base))."</b>"; ?>
Дополнительно:
Ответы:
Разные URL на два дифференцированных PHP-файлам показать разный sizeof().
Если хочется единый файлом - используйте в URL параметр, стандартный GET существует.
P.S. Каков вопрос - таков и ответ. Мы тоже умеем лепить и терять слова в случайном порядке русского вроде языка!
- Не получается, я плохо понимаю PHP
- Тогда копируйте ваш файл со скриптом в файл с другим именем, меняйте в нём строки:
$LastTime = time() - 30; $base = "session1.txt";
$LastTime = time() - 30; $base = "session1.txt";
на новые:
$LastTime = time() - 86400; $base = "session2.txt";
$LastTime = time() - 86400; $base = "session2.txt";
и обращайтесь уже к этому новому файлу...
P.S. Или вам сейчас захочется одним-единственным файлом пользоваться?
- AUser0, возможно я неправильно выразил смысл вопроса, Но я имею ввиду что добавляя два кода, с разным именем session и временем на одну страницу, два одинаковых echo будут показывать одно и тоже число! Нужно чтобы два echo отличались друг от друга и показывали разное значение, чтобы у каждого echo было уникальное имя для связи со своим кодом! Чтобы на странице показывало два значения, сколько посетителей в данный момент и сколько за 24 часа!
- Thomek, первое я бы создавал файл суток динамически, исходя из даты, например date('dmY') это даёт уникальный файл для суток, записи или итератор можно писать в него. Можно так же и придумать очистку не нужных файлов. Тут проблема в другом. Как считать уникальных пользователей?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы показать количество посетителей на сайте с помощью двух различных кодов, можно воспользоваться двумя различными подходами: с использованием JavaScript и PHP.
1. С использованием JavaScript:
Для отслеживания количества посетителей на сайте с помощью JavaScript, можно воспользоваться сервисами сторонних компаний, такими как Google Analytics. Для этого необходимо зарегистрироваться в Google Analytics, получить код отслеживания и добавить его на все страницы вашего сайта. Google Analytics автоматически будет собирать данные о количестве посетителей, просмотрах страниц и других метриках.
Пример кода JavaScript для отображения количества посетителей на странице:
function getCount() { // Получаем количество посетителей с помощью Google Analytics API return google.analytics.visitors.count; } document.write("Количество посетителей на сайте: " + getCount());
2. С использованием PHP:
Для отслеживания количества посетителей на сайте с помощью PHP, можно использовать счетчик посещений, который будет увеличиваться при каждом новом посещении страницы. Для этого можно создать отдельный файл счетчика, который будет обновляться при каждом обращении к сайту.
Пример кода PHP для отображения количества посетителей на странице:
Оба эти способа позволяют отслеживать количество посетителей на сайте, но используют разные технологии и подходы. Вы можете выбрать подход, который больше подходит вашим потребностям и возможностям.