Contador php de visitas

#1
la cuestion es esta tengo un contador en php pero funciona mal digamos
la cuenta aparece 14mil pero en ips aparecen solo 600 y quiero ver si los bakunos me pueden ayudar a mejorar el codigo o ver cual es el problema :D
<?
$expire= 9999999999999999999999999999999999999999999999999999999999999; // ip expires after $expire seconds
$logfile= "cuenta.log"; // file where visits and ip logs are stored
$incpath=substr(__FILE__, 0, strrpos(__FILE__, "/")+1);
$logfile=$incpath.$logfile;
$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";
?>
a ver si le mejoramos algo pero nose salen raros algunas digamos quiero agregarle q si salga bien la ip y a la par la hora pero sale el tiempo de expiracion algo asi
189.138.165.214||1247104152
189.144.127.13||1247104152
189.177.60.139||1247104153
187.137.26.247||1247104153
187.131.81.155||1247104153
189.133.201.148||1247104153
189.155.205.180||1247104153
200.76.189.36||1247104153
189.229.52.166||1247104153
201.170.99.26||1247104153
 
Arriba