Деньги, как известно, имеют различные функции. Одной из них является непрестанное движение денег в обращении, обслуживание процесса обращения. Без выполнения деньгами этой функции торговля была бы невозможна.

Колькі наведвальнікі на сайце

  1. Логіка скрыпту:
  2. Плюсы скрыпту:
  3. Мінусы скрыпту:

Нядаўна атрымаў невялікае заданне ад знаёмага праграміста, зрабіць функцыю для яго сайта якая б паказвала колькі наведвальнікаў зараз на сайта, што цікава не выкарыстоўваць базу дадзеных і як мага кампактней зрабіць функцыю

Нядаўна атрымаў невялікае заданне ад знаёмага праграміста, зрабіць функцыю для яго сайта якая б паказвала колькі наведвальнікаў зараз на сайта, што цікава не выкарыстоўваць базу дадзеных і як мага кампактней зрабіць функцыю. Я вырашыў выкарыстоўваць дзеля гэтага, звычайныя тэкставымі файламі якія не будуць утрымліваць нічога, такім чынам не будуць займаць месца.

Логіка скрыпту:

1. Наведвальнік ўваходзіць на сайт, калі ён новы то ствараецца txt файл з яго дадзенымі. Калі ж ён нядаўні наведвальнік, то абнаўляем толькі апошняю дату мадыфікацыі яго файла.

2. Скрыпт атрымлівае дадзеныя з поўным шляхам ўсіх тэкставых файлаў у масіў. Правяраем калі былі зробленыя апошнія мадыфікацыі ў тэкставым файле.

3. Калі торба апошняй мадыфікацыі ў тэкставым файле (у unix секундах) + ўказаны намі тэрмін актуальнасці файла ў секундах, з'яўляецца менш бягучага часу ў секундах значыць карыстальнік пакінуў сайт ці не абнавіў старонку ў браўзэры.

Плюсы скрыпту:

- Кампактная функцыя з ясна пракаментаваў кодам і лагічна названымі зменнымі.

- Два выгляду рахункі наведвальнікаў: 1 - Улічваць толькі IP. 2 - Улічваць IP і браўзэр

- незалежны ад базы дадзеных

- Не патрабуе ніякіх канфігурацыі з боку PHP, патрабуе толькі правы 777 на тэчку з файламі.

Мінусы скрыпту:

- Можа паўстаць памылка Permission denied калі тэчка з тэкставымі файламі не мае права 777. Але, гэта хутчэй памылка з боку карыстальніка а не скрыпту.

- Ён не паказвае бягучыя кол-у людзей на сайце, ён паказвае колькі наведвальнікаў зайшлі на сайт за названы вамі інтэрвал часу.

- Любы скрыпт можна напісаць б лепш, колькі праграмістаў столькі і стыляў праграмавання.

Паглядзім код нашай функцыі

Не забудзьцеся даць тэчкі online_count правы 777

<? Php function onlineCount () {// Тэрмін актуальнасці файла наведвальніка (у секундах) $ RelevanceOfTheFile = 60; // Шлях да тэчкі дзе ляжаць файлы наведвальнікаў $ VisistersFileDir = $ _SERVER [ 'DOCUMENT_ROOT']. '/ Online_count /'; // Улічваць ў назве файла і браўзэр 1 - так, 0 - няма $ AddBrowserAtFileName = 0; // Захоўваем новы файл постетителя $ VisiterFileName = $ _SERVER [ 'REMOTE_ADDR']; if ($ AddBrowserAtFileName) {$ VisiterFileName. = $ _SERVER [ 'HTTP_USER_AGENT']; } $ VisiterFileName = $ VisistersFileDir.md5 ($ VisiterFileName). '. Txt'; $ OpenFile = fopen ($ VisiterFileName, "a +"); // Поўны шлях да ўсіх файлаў фармату txt $ VisitersFiles = glob ($ VisistersFileDir. '*. Txt'); // Правяраем кол-у наведвальнікаў за апошнія $ RelevanceOfTheFile секунд if (! Count ($ VisitersFiles)) {return 0; } Else {$ ActiveVisiters = 0; foreach ($ VisitersFiles as $ File) {$ AgeFile = filemtime ($ File); if (($ AgeFile + $ RelevanceOfTheFile)> = time ()) {$ ActiveVisiters + = 1; $ UpdateTheDateOfLastEdit = fopen ($ File, 'a +'); @fclose ($ UpdateTheDateOfLastEdit); } Else {@fclose ($ OpenFile); $ DeleteOldFile = unlink ($ File); }} Return $ ActiveVisiters; }} $ OnlineCount = onlineCount (); echo "Наведвальнікаў на сайт за апошнюю хвіліну:". $ OnlineCount; ?> Вынік работы скрыпту: Наведвальнікаў на сайт за апошнюю хвіліну: 1 Спампаваць архіў з прыкладам

Усе пытанні пішам у каментарах.

Яшчэ запісы па тэме

OnlineCount; ?