Вывод количества пользователей онлайн - вопрос №3368011

Добрый день. Подскажите, нашел такую конструкцию

ini_set('session.save_path',realpath(dirname($_SERVER['DOCUMENT_ROOT']). '/online'));
session_start();
define(«MAX_IDLE_TIME», 3);
function getOnlineUsers(){
if ( $directory_handle = opendir( session_save_path() ) ) {
$count = 0;
while ( false !== ( $file = readdir( $directory_handle ) ) ) {
if($file != '.' && $file != '..'){
if(time()- filemtime(session_save_path(). ''. $file) < MAX_IDLE_TIME * 60) {
$count++;
}
} }
closedir($directory_handle);
return $count;
} else {
return false;
}}

Поместил ее в index.blade.php, но никакого результата не возвращает. Пустота.

Если убрать ini_set, то цифрами показывает, но не обновляется и спустя 180сек счетчик становится на ноль. В чем загвоздка ?

19.07.19
1 ответ

Ответы

а вы в своём скрипте вызываете функцию то?

вообще, скрипт «сложный» на мой взгляд… как вы храните своих пользователей? проще в бд сделать столбец с последней активностью пользователя и обновлять её.
и по этому значению вы сможете знать количество пользователей онлайн +список кто именно онлайн.
19.07.19

Alexander

от 500 p.
Читать ответы

Дима

Бесплатно
Читать ответы
Посмотреть всех экспертов из раздела Технологии > PHP
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store