Para detectar bots y evitar que incrementen tu contador lee esto:
http://www.forosdelweb.com/f18/clase...-bots-1051564/
Como no tienes un método para bloquear el acceso al archivo, cuando recibes dos o más visitantes al mismo tiempo, mientras uno está guardando y otro quiere (pero no puede) leer, es cuando se realiza el reinicio.
La mejor opción es, definitivamente, usar una base de datos para el contador, pero, si aún quieres seguir usando archivo de texto, te recomiendo usar
flock() para bloquear/desbloquear, el proceso sería más o menos así:
Código PHP:
Ver original// Establecer un máximo de intentos para evitar ciclo infinito
$max = 5;
$tries = 0;
while(!fopen('archivo', 'r+') && $tries < $max) { $tries ++;
}
if($tries < $max) {
// Sí se pudo abrir el archivo
// Bloqueas con flock()
// Lees, incrementas
// Guardas el nuevo valor
// Cierras y desbloqueas el archivo
} else {
// No se pudo abrir, no muestras el contador
}