Contador simple para páginas PHP

  • 13 de septiembre de 2002
  • Valoración:
  • 8 Comentarios
  • Scripts en PHP
Creamos un contador, programado en PHP, que lleva la cuenta de las impresiones que se han realizado en una página web, utilizando un archivo de texto como apoyo.
Hice una modificación al Script publicado en el artículo Escritura de archivos con PHP, en el que se enseña a escribir archivos de texto mediante PHP, tocando los temas de lectura y escritura. El objetivo es llevar un conteo de las veces que se ha visitado una página.

Puse el siguiente script PHP al final de la página, se entenderá bien si se lee el articulo señalado antes.

<?
$archivo = "contador.txt";
$contador = 0;

$fp = fopen($archivo,"r");
$contador = fgets($fp, 26);
fclose($fp);

++$contador;

$fp = fopen($archivo,"w+");
fwrite($fp, $contador, 26);
fclose($fp);

echo "Esta página ha sido visitada $contador veces";
?>

Además, creé un archivo llamado "contador.txt" que lo guardé en el mismo directorio que la página. Dicho archivo fue inicializado con un cero (0) como único texto.

Nota: si tenéis problemas a la hora de escribir en un archivo, casi con toda probabilidad, estará protegido contra escritura. O bien el archivo o bien el directorio.

Si tenéis vuestro propio servidor tendréis que modificar los permisos de tal archivo o directiorio por vosotros mismos. Sin embargo, si estáis publicando en un alojamiento contratado en un proveedor tendréis que enteraros de qué mecanismo hay que poner en marcha en ese proveedor para conseguir los permisos. En muchos casos existirá un panel de control donde modificar esas cosas, en otros casos tendréis que escribir a soporte técnico para que lo hagan a mano éllos o os digan cómo hacerlo, si es que es posible.

Con esto ya está hecho un contador muy simple, pero muy funcional.

Referencia: Hemos publicado un artículo que amplía esta práctica sobre el contador. En concreto se hace un contador que no sólo registra las visitas, sino también las visitas en un mes y el mes de la última visita. El artículo se llama Contador mejorado para páginas PHP.

También está publicado un artículo sobre un contador PHP que utiliza imágenes para mostrar el número de visitas.

Comentarios

ALAN ALBERTO WIESSE

18/5/2005
Mejora de "Contador simple para páginas PHP"
Esta mejora se basa en la rapidez para trabajar debido que dicho codigo abre y cierra inecesariamente el archivo donde coloca el contador...
El codigo mejorado seria el siguiente:

<?
//asigno el archivo a la variable $maestro
$maestro = fopen("contador.txt","r+");

//leo la primera linea y se la asigno a $leer
$leer = fgets($maestro,10);

//incremento la variable $leer en uno
++$leer;

//rebobino el archivo para poder sobre escribir su contenido
rewind($maestro);

//sobreescribo el contenido
fputs($maestro,$leer);

//cierro el archivo de texto
fclose($maestro);

//muestro en pantalla el valor acutal del archivo
echo "Sos el visitante N°: $leer";
?>

vbox

15/1/2009
¿Alguien sabe porqué si queremos escribir en el archivo con la opción "a" para que no sobreescriba el texto anterior no funciona ningún contador?; es decir,

fwrite ("archivo.txt","w"); Funciona
fwrite ("archivo.txt","a"); No funciona

Creo que estoy en un bucle infinito.

carlos

24/9/2009
contador de visitas
Hola he realizado muchas pruebas con distintos contadores de visitas, llamados desde flash cs3, y por lo menos he logrado que me lea el archivo contador.txt y le sume uno, pero al momento de grabar a través del archivo contador.php no es capaz de actualizar o incrementar en uno en el txt. Los permisos de carpeta y archivos para este caso quedaron en 777. Qué mas quedará por hacer para que me funcione?
Desesperadamente Gracias.

edgardothpc

08/6/2010
contador simple
Para que comience a funcionar el contador tube que hacer esta modificacion sino no me contaba desde cero, creaba el contador.txt pero no arrancaba.

<?php
$archivo = "contador.txt";
$contador = 0;

$fp = fopen($archivo,"r");
$contador = fgets($fp, 26);
fclose($fp);

$contador = $contador +1;

$fp = fopen($archivo,"w+");
fwrite($fp, $contador, 26);
fclose($fp);

echo "Esta página ha sido visitada $contador veces";
?>

Adrián de Miguel

30/8/2010
Mejorado
<center>
<?
//asigno el archivo a la variable $maestro
$maestro = fopen("./contador/contador.txt","r+");

//leo la primera linea y se la asigno a $leer
$leer = fgets($maestro,10);

//incremento la variable $leer en uno
if (isset($_COOKIE['tuwebcontador']))
{
}else{
++$leer;
setcookie("tuwebcontador", "1", time() + 3600);
}

//rebobino el archivo para poder sobre escribir su contenido
rewind($maestro);

//sobreescribo el contenido
fputs($maestro,$leer);

//cierro el archivo de texto
fclose($maestro);

//muestro en pantalla el valor acutal del archivo
echo "Sos el visitante N°: $leer";
?>

</center>

Merlyn Moreno

03/8/2011
¿Cómo hago para que cuente en todas las paginas de mi sitio Web?
¿Cómo hago para que cuente en todas las paginas de mi sitio Web?

emmanuel

16/4/2012
gracias
hey muy bueno este articulo me sirvio de mucho implemente un pequeoñ chat y fuka de maravilla gracias

jesus

01/5/2013
Saludos y gracias por el código en php...bueno
Saludos y gracias por el código en php...bueno ¿pero en html cual seria?Gracias

Compartir