Ki van itt most - php
Az interneten, egy csomó kész szkripteket, amelyek lehetővé teszik az online felhasználók, hogy fontolja meg, de ha ezt olvasod, az azt jelenti, hogy tetszik, és én nem nagyon kedveli dugta körül valaki másnak a kódját. Nos, ez a helyzet, írjunk forgatókönyvet magad. De először beszéljünk a maga előnye és hátránya.
Nem kell egy relációs adatbázis, amely egybevág a mi Runet (mármint tekintetében a szabad része), ez előnyt jelent.
Ismét nyilvánvaló előny a sebesség. Nem vagyok lusta írni egy hasonló script segítségével az adatbázis és használata microtime () függvény (alul - az eredmény munkája - „Végrehajtási idő: ...”) mérve az átfutási idő:
Segítségével ülés - 0,7 ms
A DB - 14,2 ms
Ez az előny a sebesség - több mint 19-szer! Azt lehet mondani. „Én is egy nagy üzlet. Csak 13 ms különbség”, de igazuk lesz - egy nagy ha jelenléti? Növelése, a kiszolgáló terhelése, és akkor tényleg az az előnye nyilvánvalóvá válik.
A másik előnye - az a tény, hogy az ülések információ tárolása, amíg zárva a böngésző, vagy 1440 másodperc (alapértelmezett kell a php.ini-ben), az adatbázis információkat a felhasználó meg kellett volna kézzel kell eltávolítani.
És végül - könnyen kijelentik ülés egyszerűen hívja session_start () függvény, és beállítani a helyes utat, hogy írjon az adatbázis több mint 15 sornyi kódot.
Nincs részletes statisztika - csak akkor lesz képes, hogy a felhasználók száma abban a pillanatban, statisztikai (találat, hosts ...) még dolgozni az adatbázissal.
Kell PHP4 - paradox módon - nem minden hosting cégek tűzték maguk PHP4.
session_start ();
define ( "MAX_IDLE_TIME", 3);
funkció getOnlineUsers ()<
if ($ directory_handle = opendir (session_save_path ())) <
$ Count = 0;
while (false! == ($ file = readdir ($ directory_handle))) <
if ($ file! = ''. $ File! = '..')<
if (time () - fileatime (session_save_path () '' $ file) ..
>
>>
closedir ($ directory_handle);
return $ számítanak;
> más <
return false;
>>
echo 'Online'. getOnlineUsers (). '
„
?>
Megjegyzés: Ha nincs külön könyvtárat tárolására ülések, csak ha az első sorban, adjunk hozzá:
Most menj át az egyes részek a kódot:
Most nyilvánítja getonlineuser () függvényt, és azonnal nyit egy „ülések” könyvtárba:
if ($ directory_handle = opendir (session_save_path ()))
Ezután jön a részét a kód, ami valójában felel a felhasználói szám, akkor a függvény a számos online felhasználók:
$ Count = 0;
while (false! == ($ file = readdir ($ directory_handle))) <
if ($ file! = ''. $ File! = '..')<
if (time () - fileatime (session_save_path () '' $ file) ..
>
>
closedir ($ directory_handle);
És talán azt a következtetést lehet levonni a felhasználók száma a végén:
echo 'vonal felhasználók. getOnlineUsers (). '
„