DiederikvH
Gebruiker
- Lid geworden
- 10 nov 2002
- Berichten
- 437
Ik heb problemen met de teller op onze site. Voorlopig is er dat nu eentje van Bravenet, maar aangezien PHP mogelijk is bij de gratis hosting (zonder msql) wil ik er eentje op zetten met een eigen txt-database. Dat was allemaal geen probleem. Maar hoe krijg ik dat nu deftig in html op het scherm?
De teller telt via een iframe en geeft ook een print van het aantal bezoekers. Het enige probleem daarbij is dat ik niet weet hoe ik in dat script tekst kan opmaken.
Een andere mogelijkheid is dat ik de database, die een gewone txt is, op één of andere manier kan lezen en weergeven in html.
Op de eerste lijn van de txt staat het aantal bezoekers, op de tweede lijn staan de ip's gelogd.
Dit is het script:
De teller telt via een iframe en geeft ook een print van het aantal bezoekers. Het enige probleem daarbij is dat ik niet weet hoe ik in dat script tekst kan opmaken.
Een andere mogelijkheid is dat ik de database, die een gewone txt is, op één of andere manier kan lezen en weergeven in html.
Op de eerste lijn van de txt staat het aantal bezoekers, op de tweede lijn staan de ip's gelogd.
Dit is het script:
<?
$expire= 600;
$logfile= "count.txt";
$ip= getenv('REMOTE_ADDR');
$visits=0;
$badhit= false;
$now= time();
$ips = array(array());
if (file_exists($logfile)){
if ($loggedips=file($logfile)){
$visits=trim($loggedips[0]);
for ($i=1; $i< count($loggedips); $i++){
$loggedips[$i]=trim($loggedips[$i]);
$ips[$i] = explode('||', $loggedips[$i]);
if (($ips[$i][0]==$ip) && ($now-$ips[$i][1]< $expire))
$badhit= true;
}
if ($badhit)
echo $visits;
else{
$visits++;
$fp= fopen($logfile, 'w');
fputs($fp,"$visits\n");
for ($i=1; $i< count($loggedips); $i++){
if ($now-$ips[$i][1] < $expire)
fputs($fp, $ips[$i][0]."||".$ips[$i][1]."\n");
}
fputs($fp, "$ip||$now\n");
fclose($fp);
echo $visits;
}
}
}else
echo "logfile is missing";
?>