Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [skrypt] Liczba uzytkownikow online
__phpion__
post
Post #1





Grupa: Zablokowani
Postów: 50
Pomógł: 0
Dołączył: 8.08.2004

Ostrzeżenie: (10%)
X----


Witam!
Ponizej przedstawiam wam moj skrypt do zliczania liczby uzytkownikow aktualnie odwiedzajacych strone. Moze komus sie przyda. Jednoczesnie prosze o obczajenie kodu pod wzgledem ewentualnych bledow. Moze cos przeoczylem, moze da sie go popsuc... Piszczie! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z gory dzieki.

  1. <?php
  2.     // zliczanie uzytkownikow online; funkcja wczytaj_plik bazuje na funkcji file - mozna uzyc file 
  3.  
  4.  
  5.     $nazwa_pliku = &#092;"online.txt\";
  6.  
  7.     $online = wczytaj_plik($nazwa_pliku); // wczytanie danych do tablicy
  8.     $stan = &#092;"n\"; // ustawienie na 'n' czyli 'nie ma'
  9.     
  10.     for ($i=0; $i<count($online); $i++)
  11.     {
  12.         $podzial = explode(&#092;" \", $online[$i]); // podzial; separator to spacja
  13.  
  14.         if ($podzial[0] == $REMOTE_ADDR) // jesli jest już w pliku (lub $_SERVER['REMOTE_ADDR'])
  15.         {
  16.             $stan = &#092;"t\"; // zmiana stanu na 't' = 'tak'
  17.             $online[$i] = $podzial[0].&#092;" \".time(); // zmiana czasu uzytkownika
  18.         }
  19.         
  20.         if ((time() - $podzial[1]) > 200) // czas aktywnosci userow; jesli user był nieaktywny przez wiecej niż 200 (chyba milisekund (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ... CHYBA...)
  21.         {
  22.             $online[$i] = &#092;"\"; // to kasujemy jego dane z tablicy
  23.         }
  24.     }
  25.     
  26.     if ($stan == &#092;"n\") // jeżeli nie ma usera trzeba go dodac do tablicy
  27.     {
  28.         $online[count($online)] = $REMOTE_ADDR.&#092;" \".time(); // ip czas (lub $_SERVER['REMOTE_ADDR'])
  29.     }
  30.     
  31.     $plik = fopen($nazwa_pliku, &#092;"w+\");
  32.     flock($plik, 2);
  33.     
  34.         for ($i=0; $i<count($online); $i++) // wpisanie calej tablicy do pliku
  35.         {
  36.             if (strlen($online[$i]) > 0) // dopisz jesli dlugosc elementu > 0
  37.             {
  38.                 fputs($plik, $online[$i].&#092;"rn\");
  39.             }
  40.         }
  41.     
  42.     flock($plik, 3);
  43.     fclose($plik);
  44.     
  45.     $online = wczytaj_plik($nazwa_pliku); // ponowne zaladowanie bazy userow online
  46.     $ile = count($online); // zliczenie
  47.     if ($ile <= 0) $ile = 1; // tak na wszelki wypadek :)
  48.     
  49.     print $ile;
  50.     
  51.     //
  52.  
  53. ?>


Gdzies w necie widzialem podobny skrypt ale napisany w bardziej zakrecony sposob... i kod byl dluzszy...

Ten post edytował __phpion__ 8.08.2004, 20:13:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




http://amnesty.scene.pl/~szacool/hwao/php/Free/On-line/

Nie wiem czy wogule sie oplaca oceniac ten kodzik on jets porpostu maly.

Na goze dalem linka mozesz sobie zobaczyc jak to dzial umnie
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 13:25