Hallo Leute!
Ich möchte auf meiner HP gerne die Besucher die gerade on sind zählen. Dazu habe ich folgendes Script benutzt:
Die Zahl der Besucher steht immer auf 1 egal wieviele da drauf sind. Habs schon mit paar Kumpels übers ICQ geklärt das die da mal rauf gehn sollen und ich dann seh obs geht. Aber es will einfach nicht
Ich möchte auf meiner HP gerne die Besucher die gerade on sind zählen. Dazu habe ich folgendes Script benutzt:
So es klappt ja auch aber...<script language="php">
// die Datei, in die geschrieben werden soll
$datei = "http://gladiators.devils-alliance.de/phpseite/useronline.dat";
// erstelle Datei, falls sie nicht existiert
if (!file_exists($datei)) fclose(fopen($datei, "http://gladiators.devils-alliance.de/phpseite/useronline.dat"));
// Einlesen der Datei in ein Array (eine Zeile pro Arrayfeld)
$users = file($datei);
$gefunden = false;
// Anzahl der Einträge ermitteln
$anzahl_users = count($users);
// Datei zum Schreiben öffnen
$fp = fopen($datei, "http://gladiators.devils-alliance.de/phpseite/useronline.dat");
// Durchlaufen der Einträge
foreach($users as $user)
{
// in ein Array aufsplitten
$user = explode("|", $user);
// wenn der Eintrag älter als 5 Minuten (=300 Sekunden) ist...
if ($user[1]+300 < time())
{
// Anzahl der User um 1 verringern
$anzahl_users--;
// nächsten Schleifendurchlauf starten
continue;
}
// wenn der User schon eingetragen ist, dann...
elseif ($user[0] == $REMOTE_ADDR)
{
// ...aktuelle Zeit setzen
$user[1] = time();
// ...bestätigen, dass kein neuer Eintrag erforderlich ist
$gefunden = true;
}
// wieder in Zeichenkette umwandeln und Zeilenumbruch anfügen
$user = trim(implode("|", $user))."\n";
// in Datei schreiben
fputs($fp, $user);
}
// wenn der User noch nicht eingetragen ist...
if (!$gefunden)
{
// neuen Eintrag direkt in die Datei schreiben
fputs($fp, $REMOTE_ADDR."|".time()."\n");
// Anzahl der User um 1 erhöhen
$anzahl_users++;
}
// Datei schließen
fclose($fp);
// Ausgabe
echo "aktive User:".$anzahl_users;
</script>
Die Zahl der Besucher steht immer auf 1 egal wieviele da drauf sind. Habs schon mit paar Kumpels übers ICQ geklärt das die da mal rauf gehn sollen und ich dann seh obs geht. Aber es will einfach nicht