Zdravim,
mate nekdo tutorial na Vlastni server generator ? Jako je treba na SAMP, bylo by dobry i pro Ventrilo apod..... diky moc na odpoved
Fórum › PHP
Status generator
trosku rozpis tvoju otazku, lebo pochybujem ze niekto chape co chces..
To gledy : niekde som to videl (niekde mam aj ulozeny kod v PC) formou jednoducheho php kodu ktory si uklada ip adresy do txt suboru a na zaklade toho generuje online a offline uzivatelov presnejsie ti nepoviem, netusim kde som si to ulozil
To gledy : Možno ti to pomoze..
Počet online čtenářů v PHP bez použití databáze
Vypsat počet lidí, kteří si právě pročítají naše stránky, můžeme velmi snadno například s využitím databáze a sessions. Dalším možným řešením je evidovat IP adresy klientů a sledovat jejich timeout jen prostřednictvím textového souboru.
ASP.NET a PHP aplikace
Zjednodušte spouštění, minimalizujte bezpečnostní rizika. Podívejte se na web novýma očima.
Princip spočívá v uložení IP adresy a případně dalších údajů klienta spolu s časem posledního přístupu. Data se ukládají do souboru a pomocí cyklu se čtou. Dvojtečka slouží v řádku jako oddělovač adresy návštěvníka a času, kdy naposledy načetl nějakou stránku. Pro další detaily odkazuji na článek využívající k ukládání dat databázi. Můžete se podívat na ukázku. Celý skript si můžete také stáhnout.
<?php
$fcrr='readers.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
// 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='člověk'; // vyskloňovat podle počtu uživatelů
echo "Stránku si právě $mess1 $celkem $mess2."; // vypsat počet uživatelů se správným skloňováním
?>
V prvním řádku skriptu je nastaveno jméno souboru, který má sloužit pro ukládání dat. Můžeme jej dát i do nějakého adresáře, cestu je pak třeba uvést také ve skriptu. Všimněte si, že zde nepracujeme jen s IP adresou (REMOTE_ADDR), ale snažíme se uložit co nejvíce údajů z hlaviček, které odeslal browser klienta. Pokud bychom počítali pouze IP adresy, měření by bylo nepřesné v případě sítě s více uživateli připojenými přes proxy - jejich adresa je navenek jediná a tak by třeba i sto čtenářů bylo v našem skriptu bráno jako jeden čtenář. Pokud taková proxy poskytuje v odesílaných hlavičkách například údaj HTTP_FORWARDED, měření bude přesnější. Jak je vidět z posledních řádků skriptu, je vyřešeno i správné skloňování při počtu čtenářů 1, 2 až 4, 5 a více čtenářů.
Uvedený skript pomocí include zahrneme do všech stránek, ve kterých chceme zobrazovat a počítat aktuální počet čtenářů například takto:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Počet online uživatelů</title>
</head>
<body>
<p>Toto je velmi zajímavá stránka.</p>
<p><?php include('readers.php'); ?></p>
</body>
</html>
Nakonec je nutné nastavit práva pro zápis do souboru readers.txt, který je nutné nahrát také na server – podrobný návod naleznete v článku o návštěvní knize.
To s.matej :
Ak som správne pochopil jemu nejde o to zistiť online puožívateľov, ale stav servera.
To gledy :
google => php server status [socket,fsockopen]
Ináč mám pocit, že sa to tu už riešilo, si pozri archív, tam bol tušim aj kód :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Online Status — založil Milan
Status serveru — založil murle
Status bar — založil RG-Bot
"Messenger" - status — založil Rat
Server status — založil lolik
Moderátoři diskuze