Я пересылаю этот вопрос, так как я не получил никаких полезных ответов в первый раз.
У меня есть простой счетчик сеансов на моем сайте, использующий session_save_path () .Код не работает в среде общего хостинга , потому что он возвращает количество всех сеансов на сервере для всех сайтов - или я так полагаю.
Может кто-нибудь сказать мне, как я могу изменить , чтобы он работал правильно.Я знаю, что счетные сессии не точно отражают цифры, но они не должны быть точными на 100%.Я также не думаю, что попадание в базу данных является разумной идеей для такой простой функции, как эта.
Должен быть способ реализовать это правильно.Вы можете помочь?
Спасибо!
<?php
//------------------------------------------------------------
// VISITORS ONLINE COUNTER
//------------------------------------------------------------
if (!isset($_SESSION)) {
session_start();
}
function visitorsOnline()
{
$session_path = session_save_path();
$visitors = 0;
$handle = opendir($session_path);
while(( $file = readdir($handle) ) != false)
{
if($file != "." && $file != "..")
{
if(preg_match('/^sess/', $file))
{
$visitors++;
}
}
}
return $visitors;
}
?>