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!

Z gory dzieki.
<?php
// zliczanie uzytkownikow online; funkcja wczytaj_plik bazuje na funkcji file - mozna uzyc file
$nazwa_pliku = \"online.txt\";
$online = wczytaj_plik($nazwa_pliku); // wczytanie danych do tablicy
$stan = \"n\"; // ustawienie na 'n' czyli 'nie ma'
for ($i=0; $i<count($online); $i++)
{
$podzial = explode(\" \", $online[$i]); // podzial; separator to spacja
if ($podzial[0] == $REMOTE_ADDR) // jesli jest już w pliku (lub $_SERVER['REMOTE_ADDR'])
{
$stan = \"t\"; // zmiana stanu na 't' = 'tak'
$online[$i] = $podzial[0].\" \".time(); // zmiana czasu uzytkownika
}
if ((time() - $podzial[1]) > 200) // czas aktywnosci userow; jesli user był nieaktywny przez wiecej niż 200 (chyba milisekund
... CHYBA...) {
$online[$i] = \"\"; // to kasujemy jego dane z tablicy
}
}
if ($stan == \"n\") // jeżeli nie ma usera trzeba go dodac do tablicy
{
$online[count($online)] = $REMOTE_ADDR.\" \".time(); // ip czas (lub $_SERVER['REMOTE_ADDR']) }
$plik = fopen($nazwa_pliku, \"w+\");
for ($i=0; $i<count($online); $i++) // wpisanie calej tablicy do pliku
{
if (strlen($online[$i]) > 0) // dopisz jesli dlugosc elementu > 0 {
fputs($plik, $online[$i].\"rn\"); }
}
$online = wczytaj_plik($nazwa_pliku); // ponowne zaladowanie bazy userow online
$ile = count($online); // zliczenie if ($ile <= 0) $ile = 1; // tak na wszelki wypadek :)
//
?>
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