Hallo
ich habe da folgendes Script im Netz gefunden:
ein klein wenig eingerückt und etwas kommentiert
<?php
$daten="besucher.txt";
$time = time();
$ip = getenv("REMOTE_ADDR");
$ablaufzeit = "$time"-"300";
$pruefung = @file($daten);
while (list ($line_num, $line) = @each ($pruefung))
$zeiten = explode("&&",$line);
if ($zeiten[0] <= $ablaufzeit) {
$fp = fopen( "$daten", "r" );
$contents = fread($fp, filesize($daten));
fclose($fp);
$line=quotemeta($line);
$string2 = "";
$replace = ereg_replace($line, $string2, $contents);
$fh=fopen($daten, "w");
@flock($fp,2);
fputs($fh, $replace);
@flock($fp,3);
fclose($fh);
}
}
$ippruefung = @file($daten);
while (list ($line_num, $line) = @each ($ippruefung)) {
$ips = explode("&&",$line);
if($ips[1] == $ip) {
$fp = fopen( "$daten", "r" );
$contents = fread($fp, filesize($daten));
fclose($fp);
$line = quotemeta($line);
$string2 = "";
$replace = ereg_replace($line, $string2, $contents);
$fh=fopen($daten, "w");
@flock($fp,2);
fputs($fh, $replace);
@flock($fp,3);
fclose($fh);
}
}
$fp = fopen("$daten", "a+");
flock($fp,2);
fputs ($fp, "$time&&$ip&&\n");
flock($fp,3);
fclose ($fp);
$anzahldaten = file($daten);
$anzahl = count($anzahldaten);
echo "$anzahl User online";
?>
Nur hätte ich es jetzt gerne so, das das Script mir die Anzahl der Online User nicht nur aktuell auf der Seite anzeigt, sondern auch in eine user.txt schreibt.
Prinzipiell reichte es, am Ende den Inhalt der Variablen in die Datei user.txt zu schreiben. Wenn der Schreibvorgang erfolgreich war, hast Du Dein Ziel erreicht. Allerdings wäre es doch ein guter Ansatz, das Skript hier sauber zu überarbeiten. - Dabei solltest Du Dir überlegen, wie Du die Einzelschritte cleverer und übersichtlicher gemäß dem
E ingabe
V erarbeitung
A usgabe
EVA-Prinzip gestalten kannst. Ein schönes Projekt, um den Einstieg in eine Programmiersprache wie PHP zu schaffen. Viel Erfolg!
Freundliche Grüße
Vinzenz