Ups, hace mucho hice un contador con archivos de texto, pero creo que en sitios de mucho trafico no es tan eficiente y podrias probar:
Código PHP:
Ver original$fcont = false;
// ********** Read current total hits
// ********** be sure to read the file so the counter will not be reseted
while(!$fcont) {
$fcont=@file($datdir . $curcont . '.dat'); $curnum=intval(trim($fcont[0])); // ***** Read total hits as well }
} else {
// ********** Is the file missing?
$curnum=0; // ***** Start counting from 0
}
// ***** Increment counter by anything you've selected in it's configuration
$curnum=$curnum+$aumenta;
// ***** Store the new total hits on file
$chan=fopen($datdir . $curcont . '.dat', 'w'); $canWrite=false;
while (!$canWrite) {
$canWrite = flock($chan, LOCK_EX
); // Bloqueamos el archivo para guardar el contador }
$canWrite = flock($chan, LOCK_UN
);
Nota: Esto lo hice en uno de mis primeros intentos por aprender PHP, ahora es mas facil guardar con
file_put_contents('archivo', 'contenido', LOCK_EX); pero lo importante es tratar de leer el archivo si es que existe y esta bloqueado.