Semplice counter, uno dei piu banali ma vorrei ke il contatore non si incrementi se si ha lo stesso ip, quindi faccio cosi:
$COUNT_FILE = "counter.dat";
if (file_exists($COUNT_FILE)) {
$fp = fopen("$COUNT_FILE", "r+");
flock($fp, 1);
$count = fgets($fp, 4096);
$count += 1;
fseek($fp,0);
fputs($fp, $count);
}
flock($fp, 3);
fclose($fp);
}
return $count;
}
ovviamente in questo caso, avendo un file counter.dat avro soo il numero di accessi successivi. Io vorrei anke poter escludere lo stesso ip senza incrementare il contatore avevo pensato:
$COUNT_FILE = "counter.dat";
if (file_exists($COUNT_FILE)) {
$fp = fopen("$COUNT_FILE", "r+");
flock($fp, 1);
$count = fgets($fp, 4096);
// il mio problema ora e far capire che deve leggere al secondo rigo e non al primo
$ip = fgets($fp, 4096);
if($ip!=$_SERVER['REMOTE_ADDR'] ){
$count += 1;
fseek($fp,0);
fputs($fp, $count);
// il mio problema ora e far capire che deve scrivere al secondo rigo e non al primo
fseek($fp,0);
fputs($fp, $ip);
}
flock($fp, 3);
fclose($fp);
}
return $count;
}
ovviamente il file counter sara del tipo :
0
156.26.25.254
Come posso fare?
devo utilizzare un explode e un implode per inserire tutto in un array e controllare?
0//156.25.25.254