Autor Zpráva
kachnak
Profil *
zdravim neviete prosim poradit ze ako spravit kolko ludi prave prezera urcitu stranku stranku?
esemeska
Profil
muzes vyuzit nejakou free sluzbu
...tady jsem napsal pár takových serverů
24k
Profil *
http://www.rjwebdesign.net/scripts/index.php
hacesoft
Profil
Tento script jsem stahnul odnekud z netu, mirne poupravil, pouzivam ho:

<?php
$fcrr='global_files/online_uzivatelu.txt'; // jméno souboru, do kterého ukládat IP adresy návštěvníků
$IPadresa=$_SERVER['REMOTE_ADDR']; // sem "naskládame" vše, co lze o čtenáři zjistit odděleno zavináčem (adresy uživatelů za proxy ap.)
if ($_SERVER['REMOTE_HOST'])
$IPadresa.='@'.$_SERVER['REMOTE_HOST'];
if ($_SERVER['HTTP_X_FORWARDED_FOR'])
$IPadresa.='@'.$_SERVER['HTTP_X_FORWARDED_FOR'];
if ($_SERVER['HTTP_FORWARDED'])
$IPadresa.='@'.$_SERVER['HTTP_FORWARDED'];
if ($_SERVER['HTTP_CLIENT_IP'])
$IPadresa.='@'.$_SERVER['HTTP_CLIENT_IP'];
if ($_SERVER['X_HTTP_FORWARDED_FOR'])
$IPadresa.='@'.$_SERVER['X_HTTP_FORWARDED_FOR'];
if ($_SERVER['X_FORWARDED_FOR'])
$IPadresa.='@'.$_SERVER['X_FORWARDED_FOR'];
$aktual=time();
$pole=file($fcrr); //přiřadit jméno souboru k poli
for($i=0; $i<Count($pole); $i++) // procházet pole
{
$adresa=StrTok($pole[$i],':'); // rozdělit na adresu a čas záznamy oddělené dvojtečkou
$cas=StrTok(':');
if ($adresa==$IPadresa) // pokud se adresa rovná některému záznamu, vyřadit jej (vymazat) z pole
$pole[$i]='';
if ($cas<($aktual-360)) // pokud vypršel timeout 6 minut, vyřadit záznam (vyřadí se neaktivní uživatelé)
$pole[$i]='';
}
$Fp=FOpen($fcrr,'w'); // otevřít soubor pro zápis
$celkem=0; // vyčistit proměnnou
for($i=0; $i<Count($pole); $i++)
{
if ($pole[$i]!='') // je-li co zapsat po předchozím "vyčištění" pole
{
FPutS($Fp,$pole[$i]); // pak zapsat prvek pole do souboru
$celkem++; // zvýšit počítadlo uživatelů
}
}
FPutS($Fp,$IPadresa.':'.$aktual."\n"); // připsat adresu aktuálního uživatele a jeho čas
$celkem++; // zvýšit počítadlo o 1 (o aktuálního uživatele)
FClose($Fp); // zavřít soubor

$ktery_den = date(w);
$den = date(j);
$mesic = date(n);
$rok = date(Y);
if ($ktery_den == 0) $sKtery_den = 'Neděle';
if ($ktery_den == 1) $sKtery_den = 'Pondělí';
if ($ktery_den == 2) $sKtery_den = 'Úterý';
if ($ktery_den == 3) $sKtery_den = 'Středa';
if ($ktery_den == 4) $sKtery_den = 'Čtvrtek';
if ($ktery_den == 5) $sKtery_den = 'Pátek';
if ($ktery_den == 6) $sKtery_den = 'Sobota';
$cele_datum = "Dnes je $sKtery_den $den.$mesic.$rok";

// v $celkem je nyní počet uživatelů online
$mess1='čte';
$mess2='lidí';
if ($celkem<5)
if ($celkem>1)
{
$mess1='čtou';
$mess2='lidé';
}
else{
$mess2='ty'; // vyskloňovat podle počtu uživatelů
$mess1='čteš';
$celkem = 'jen';
}
echo "Server si právě $mess1 $celkem $mess2. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $cele_datum &nbsp;&nbsp;"; // vypsat počet uživatelů se správným skloňováním
?>

Na svych strankach jsem taky pouzival mnoho free sluzem ale to bylo cimdal tim pomalejsi, a tak jsem se podival na php a uz stim zacinam zapasit... toto je moje uplne prvni seznameni s php....
dgx
Profil
Jelikož se v poli $_SERVER všechny hlavičky prefixují řetězcem 'HTTP_', je zbytečné kontrolovat $_SERVER['X_FORWARDED_FOR'] a $_SERVER['X_HTTP_FORWARDED_FOR']
Toto téma je uzamčeno. Odpověď nelze zaslat.

0