Найшвидший спосіб визначити кількість користувачів на сайті онлайн, php

В Інтернеті багато готових скриптів, що дозволяють вважати користувачів онлайн, але раз ви Новомосковскете цю статтю, значить, ви як і я не особливо любите колупатися в чужому коді. Ну, в такому, випадку, давайте, напишемо такий скрипт самі. Але перш поговоримо про його переваги та недоліки.

переваги

Йому не потрібна реляційна база даних, що погодьтеся, в нашому Рунеті (я маю на увазі щодо безкоштовну його частина), є безперечною перевагою.
Знову ж безперечною перевагою є швидкість. Я не полінувався написати подібний скрипт з використанням БД і за допомогою функції microtime () (в самому низу - результат її роботи - «Час генерації: ...») виміряв час виконання:

  • Використовуючи сесії - 0,7 мс
  • Використовуючи БД - 14,2 мс

Тобто перевага в швидкості - більш ніж в 19 разів! Ви можете сказати. «Теж мені велику справу. Всього 13 мс різниця », так вони будуть праві - а якщо відвідуваність велика? Зростає навантаження на сервер і тоді дійсно така перевага стає очевидним.
Ще одна перевага - те, що інформація в сесіях зберігається поки не закритий браузер або 1440 секунд (стоїть за умовчанням в php.ini), в БД інформацію про користувачів вам довелося б видаляти вручну.
І останнє - простота, щоб оголосити сесію досить викликати функцію session_start (), а щоб налаштувати правильних чином БД потрібно написати цілих 15 рядків коду.

недоліки

Немає детальної статистики - в зможете тільки дізнатися кількість користувачів в даний момент, для ведення статистики (хіти, хости ...) доведеться все-таки працювати з БД.
Потрібен PHP4 - як це не парадоксально - ще не все хостери поставили собі PHP4.

ЗАУВАЖЕННЯ: Якщо у вас немає спеціальної директорії для зберігання сесій, просто відразу першим рядком додайте:

Тепер пройдемося по окремих частинах коду:

Тепер ми оголошуємо функцію getonlineuser () і відразу відкриваємо "сесійний" директорію:

Далі йде частина коду, яка власне і відповідає за підрахунок користувачів, функція повертає кількість користувачів онлайн:

І мабуть, розумно буде висновок кількості користувачів в кінці:

Усе! Скрипт готовий!

Схожі статті