buenas, como ya se me adelanto jam1138, solo queda afirmar lo que el dijo... el archivo tiene que tener un valor inicial de 0, sino no puede empezar porq no tiene a que sumar... para que te aparezca alineado a la izquierda tendrias q rodear la variable
$visitas con un div o como quieras, por ejemplo podria ser <div align='left'>
$visitas</div> nose si estara bien por no recuerdo si era aling o align
...
bueno se me a ocurrido sobre un posible error sobre este script y probando lo descubri y empece a buscar una solucion, todavia no probe la solucion por falta de tiempo pero te adelanto sobre que trata... como se ve el script va directamente a leer y escribir sobre el archivo, y supongamos si dos personas visitan la pagina al mismo tiempo(¿?) entrarian los dos y escribirian los dos sobre el archivo, sobre un posible error minimo, sumaria cualquier cosa y esto nos generaria caulquier resultado
, pero como error grave tendriamos un archivo corrupto, la sulucion(¿?), insertar un "candado" al archivo cuando se abre, y poder trabajar tranquilos sobre el archivo y si hay otra peticion para abrir el archivo tendria que esperar hasta que este "candado" sea abierto y dando paso a esa peticion la solucion la en contre en una web, no la pasare por respeto a esta web, pero si adjunto el arreglo y una explicacion breve sobre el "candado"...
Código PHP:
<?php
function contador($value = FALSE)
{
$archivo = "contador.txt";
if ($fp = fopen($archivo,"r+")) //Se abre el archivo q llevara la cuenta
{
flock($fp, 2); // Aplicamos el "candado"
$cont = fread($fp,5); //Se lee el archivo y se adjudica el resultado a una variable
if($value)
{
$cont += 1; //Se incrementa en 1
rewind ($fp); //El puntero lo llevo al pricipio
fputs($fp,$cont); //Se escribe el archivo, se pisa lo q ya estaba escrito
}
flock($fp, 3); // Se termino el trabajo sobre el archivo y sacamos el "candado"
fclose($fp); //Se cierra el archivo
}else{
$cont = "Error en el contador."; //Mensaje de error a mostrar
}
return $cont; // Se devuelve la cantidad de visitas
}
?>
La otra parte del script, osea como llamarlo sigue siendo el mismo...
Cita: Opciones de flock() flock() opera sobre un file handler que debe apuntar a un fichero previamente abierto. Puede tener los siguientes valores:
- Para que adquiera un bloqueo compartido (lectura), se fija su valor a 1. Mas de un proceso puede tener un candado compartido para un mismo archivo.
- Para obtener un bloqueo exclusivo (escritura), se fija el valor a 2. Solo un proceso puede tener un candado exclusivo. Los demás procesos deben esperar.
- Para liberar un bloqueo (compartido o exclusivo), se fija el valor a 3.
- Si no quieres que flock() bloquee mientras está activado, suma 4 al valor fijado. si se quiere que flock no bloquee el script sumar 4 al modo (modos: 5,6,7) y consultar por el valor devuelto por la función: true si el lock fue adquirido o false si no fue adquirido. Usando esta función pueden implementarse mecanismos de sincronización entre procesos
bueno espero q te sirva y bueno para q aprendamos todos adjunte las opciones sobre
flock()...
lo prometido es deuda y bueno tratere de darte un contador q trabaje con mysql pero no tube tiempo
... pero tratare de hacertelo... y tratare de agregarle algun sistema de estadisticas... pero bueno esto es mas adelante el contador con mysql lo tendras en esta semana... bueno saludos