function count_all_online() {
if ( $directory_handle = opendir( session_save_path() ) ) {
$count = 0;
while ( false !== ( $file = readdir( $directory_handle ) ) ) {
if( $file != '.' && $file != '..' AND ( time() - filemtime( session_save_path() . '/' . $file)) < (60) ) $count++;
}
closedir($directory_handle);
return $count;
} else return false;
}
Проблема в том что если человек бездействует 60 секунд, потом обновляет странцу - пишет что "онлайн: 0", еще раз обновляет "онлайн:1".
То есть сначала выводится без результатов цикла $count, а потом нормально. Помогите исправить пожалуйста :(
Спустя 53 минуты, 57 секунд (25.06.2011 - 15:33) T1grOK написал(а):
Правильно, у вас же в условии написано, что если сессия обновлялась чаще минуты, то +1.
Спустя 17 часов, 28 минут, 15 секунд (26.06.2011 - 09:02) CaguCT написал(а):
Цитата (CaguCT @ 25.06.2011 - 11:39) |
Проблема в том что если человек бездействует 60 секунд, потом обновляет странцу - пишет что "онлайн: 0", еще раз обновляет "онлайн:1". |
А нужно чтоб после первого обновления после бездействия сразу выдавало "онлай:1"
Спустя 5 минут, 2 секунды (26.06.2011 - 09:07) T1grOK написал(а):
Так значение больше 60 поставьте.
Спустя 37 секунд (26.06.2011 - 09:07) XCross написал(а):
вот так попробуй ++$count;
Спустя 3 минуты, 11 секунд (26.06.2011 - 09:11) CaguCT написал(а):
Вы меня наверное не поняли =)
Дело в том что после минуты бездействия, при обновлении страницы 1 раз - не показывает что ты онлайн. Еще раз обновляешь - показывает.
А мне нужно что-бы сразу, обновил страницу - уже показало что онлайн.
2kmaks, а разница? Сейчас попробую.
Дело в том что после минуты бездействия, при обновлении страницы 1 раз - не показывает что ты онлайн. Еще раз обновляешь - показывает.
А мне нужно что-бы сразу, обновил страницу - уже показало что онлайн.
2kmaks, а разница? Сейчас попробую.
Спустя 1 минута, 41 секунда (26.06.2011 - 09:12) CaguCT написал(а):
++$count не помог
Спустя 4 минуты, 30 секунд (26.06.2011 - 09:17) CaguCT написал(а):
Вот пример: 360.zp.ua
Время бездействия - 5 секунд, тоесть чтоб увидеть что я имею ввиду нужно обновить через 6 и более секунд.
Время бездействия - 5 секунд, тоесть чтоб увидеть что я имею ввиду нужно обновить через 6 и более секунд.
Спустя 9 минут, 8 секунд (26.06.2011 - 09:26) T1grOK написал(а):
Вы же сами устанавливаете через какое время пользователь будет считаться off. Допустим 10 минут:
То есть прошло 10 минут пользователь уже не онлайн.
if( $file != '.' && $file != '..' AND ( time() - filemtime( session_save_path() . '/' . $file)) < 600 ) $count++;
То есть прошло 10 минут пользователь уже не онлайн.
Спустя 7 минут, 59 секунд (26.06.2011 - 09:34) CaguCT написал(а):
T1grOK, вы не понимаете что я хочу
Циферки я умею менять )))
Циферки я умею менять )))
Спустя 6 минут, 47 секунд (26.06.2011 - 09:41) T1grOK написал(а):
Если у вас используется система идентификации. В сессию записываем ИД пользователя. Выгружаем все Иды В массив, удаляем одинаковые значения(может пользователь зашел из нескольких браузеров). Считаем количество.
Таким образом не будет привязки по времени.
Таким образом не будет привязки по времени.
Спустя 1 день, 16 часов, 23 минуты, 30 секунд (28.06.2011 - 02:04) CaguCT написал(а):
Цитата |
Таким образом не будет привязки по времени. |
Мне она нужна, и считает функция отлично, просто чисто косметически то что я описал выше мне не нравится.