Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Количество пользователей на сайте
Показывает количество посетителей, находящихся на сайте в данный момент.
Сейчас на сайте: 875 человек.
<?
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);
?>
.
Прокомментировать/Отблагодарить