Найшвидший спосіб визначити кількість користувачів на сайті онлайн, php
В Інтернеті багато готових скриптів, що дозволяють вважати користувачів онлайн, але раз ви Новомосковскете цю статтю, значить, ви як і я не особливо любите колупатися в чужому коді. Ну, в такому, випадку, давайте, напишемо такий скрипт самі. Але перш поговоримо про його переваги та недоліки.
переваги
Йому не потрібна реляційна база даних, що погодьтеся, в нашому Рунеті (я маю на увазі щодо безкоштовну його частина), є безперечною перевагою.
Знову ж безперечною перевагою є швидкість. Я не полінувався написати подібний скрипт з використанням БД і за допомогою функції microtime () (в самому низу - результат її роботи - «Час генерації: ...») виміряв час виконання:
- Використовуючи сесії - 0,7 мс
- Використовуючи БД - 14,2 мс
Тобто перевага в швидкості - більш ніж в 19 разів! Ви можете сказати. «Теж мені велику справу. Всього 13 мс різниця », так вони будуть праві - а якщо відвідуваність велика? Зростає навантаження на сервер і тоді дійсно така перевага стає очевидним.
Ще одна перевага - те, що інформація в сесіях зберігається поки не закритий браузер або 1440 секунд (стоїть за умовчанням в php.ini), в БД інформацію про користувачів вам довелося б видаляти вручну.
І останнє - простота, щоб оголосити сесію досить викликати функцію session_start (), а щоб налаштувати правильних чином БД потрібно написати цілих 15 рядків коду.
недоліки
Немає детальної статистики - в зможете тільки дізнатися кількість користувачів в даний момент, для ведення статистики (хіти, хости ...) доведеться все-таки працювати з БД.
Потрібен PHP4 - як це не парадоксально - ще не все хостери поставили собі PHP4.
ЗАУВАЖЕННЯ: Якщо у вас немає спеціальної директорії для зберігання сесій, просто відразу першим рядком додайте:
Тепер пройдемося по окремих частинах коду:
Тепер ми оголошуємо функцію getonlineuser () і відразу відкриваємо "сесійний" директорію:
Далі йде частина коду, яка власне і відповідає за підрахунок користувачів, функція повертає кількість користувачів онлайн:
І мабуть, розумно буде висновок кількості користувачів в кінці:
Усе! Скрипт готовий!