Salve a tutti. Ho fatto un semplicissimo e rudimentale contatore di accessi in php, l'ho testato in locale e sembra funzionare bene. Quindi ho effettuato l'upload via ftp del mio sito locale sul server remoto. Però accedendo alla pagina dove si trova il contatore, il numerino non viene mai aggiornato e rimane sempre lo stesso anche aggiornando la pagina. Come mai?
Codice PHP:
error_reporting(2047);
#going to update last users counter script since
#aborting a write because a file is locked is not correct.
$counter_file = 'mdb-database/counter.txt';
clearstatcache();
ignore_user_abort(true); ## prevent refresh from aborting file operations and hosing file
if (file_exists($counter_file)) {
$fh = fopen($counter_file, 'r+');
while(1) {
if (flock($fh, LOCK_EX)) {
#$buffer = chop(fgets($fh, 2));
$buffer = chop(fread($fh, filesize($counter_file)));
$buffer++;
rewind($fh);
fwrite($fh, $buffer);
fflush($fh);
ftruncate($fh, ftell($fh));
flock($fh, LOCK_UN);
break;
}
}
}
else {
$fh = fopen($counter_file, 'w+');
fwrite($fh, "1");
$buffer="1";
}
fclose($fh);
print "Count is $buffer";