Wer sich die Anzahl der Besucher sowie die IP-Adresse und den Hostnamen des letzten Besuchers auf seiner PHP-Webseite anzeigen lassen möchte kann folgenden Code an geeigneter Stelle einbinden:
<!-- Start User online CODE -->
<?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";
?> |
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$host = gethostbyaddr($ip);
echo "IP Adresse: $ip<br>";
echo "Hostname: $host";
?>
<!-- Ende User online CODE -->
Wie im Script ersichtlich sollte noch eine Datei "besucher.txt" im Verzeichnis der Webseite erstellt werden und diese mit CHMOD 666 versehen werden.
Beispiel:
2 User online | IP Adresse: 80.136.194.63
Hostname: p5088C23F.dip0.t-ipconnect.de