Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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! 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
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
__phpion__
post
Post #3





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

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


Male jest piekne :)
Wiesz, w sumie w nim chodzi tylko i wylacznie o wyswietlenie przyblizonej liczby odwiedzajacych strone, wiec nie widze powodu by musial byc bardziej rzobudowany. Ma wyswietlac tylko liczbe. Nic wiecej. W sumie nie mialem w planach dawac go na forum bo pisalem go na potrzeby strony, ale ze skrypty tego typu nie sa zbyt popularne to go dalem. I nie do oceny - tylko jako ciekawostke. I jezeli sa jakies bledy to prosze o ich wytkniecie.
Pozdrawiam: __phpion__

PS: w twoim skrypcie zostalem potraktowany jako ZERO bo napisalo: Online: 0. Czuje sie zniszczony psychicznie... ;)

Ten post edytował __phpion__ 8.08.2004, 21:16:04
Go to the top of the page
+Quote Post

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 Aktualny czas: 22.08.2025 - 11:03