Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [skrypt] Liczba uzytkownikow online
__phpion__
post 8.08.2004, 20:12:09
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! 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 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

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 13.08.2025 - 23:13