Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov
Показывает количество посетителей находящихся на сайте в данный момент.
Сейчас на сайте: 555 человек.<?
session_start();
function getUsersOnline() {
$count = 0;
$handle = opendir(session_save_path());
if ($handle == false) return -1;
while (($file = readdir($handle)) != false) {
if (preg_match("/^sess/", $file)) $count++;
}
closedir($handle);
return $count;
}
?>
Использование:
<?
$usercount = getUsersOnline();
echo 'Сейчас на сайте: <b>'.$usercount.'</b> человек.';
?>
Если Вы будуте переопределять путь, где храняться сесии, то Вам необходимо бдет предусмотреть два момента:
- Защита каталога от угона сессий
- Удаление старых сессий
Защиту катлога сделать можно создав файл .htaccess со следующим содержимым:
deny from all
А для удаления сессий можно использовать следующий скрипт, которым можно повесить на cron:
<?
echo "<br>удаляю старые сессии";
$path=session_save_path();
$dh = opendir( $path ) or die( "Не удалось открыть каталог ".$path );
$path.='/';
$df=date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1, date("Y"))); // храню сесии 1 день
while ( $f = readdir( $dh ) ) {
if (substr($f,0,1)=='.') continue;
if ( date("Y-m-d", filemtime($path.$f)) < $df )@unlink($path.$f);
}
closedir($dh);
?>