2014-08-27 2 views
1

У меня есть мое приложение, основанное на Laravel 4.1. В моем приложении я хочу получить количество аутентичных пользователей, которые в данный момент просматривают определенную страницу, например, если приложение имеет страницу1, стр. 2. Я хочу знать количество пользователей в настоящее время на странице 1 и на странице 2.Количество пользователей на текущей странице

Как реализовать эту функцию в laravel?

+0

Сохраните идентификатор сеанса в таблице вместе с меткой времени? Выберите тех, кто просмотрел страницу в течение предопределенного периода времени (последние 1 или 2 минуты?) –

+1

Вам не нравится Google Analytics? Это не PHP-решение, но есть больше инструментов для анализа. Просто мнение ... – ital0

+0

Я ожидаю, кто сейчас просматривает страницу, которая не просматривала страницу. – Chinmoy

ответ

1

Это очень уникальная проблема, и в любом случае нет прямого решения.

$users = count(glob(session_save_path() . '/*')); 

Обратите внимание, что это просто подсчитывает файлы сеанса. Это, несомненно, будет содержать устаревшие/мертвые сессии, которые еще не были собраны мусором.

Лучшим способом для меня будет создание временных меток для каждой вашей страницы и каждая проблема с каждой страницей и вызов ajax на сервер каждые несколько секунд для обновления этих временных меток.

Так что если пользователь находится на определенной странице, страница будет отправлять запросы на сервер каждые несколько секунд, а отметки времени будут обновляться.

Затем вы можете рассчитать количество пользователей на конкретной странице, запросив отметки времени за последнюю минуту или что-то в этом роде.

+0

Хорошо. Это хорошая идея . Дай мне попробовать . – Chinmoy