ProgramacionWeb - Ayuda al webmaster
No has iniciado sesión
Conectar al sistema | Registrar usuario
Categorías Articulo
 
5 votos
Contador PHP
 
 
Aprenderemos a hacer un contador con el que podemos implementarlo en cualquier sitio y de la manera que nosotros queramos. Es un contador muy sencillo en el que lo realizaremos en cinco breves pasos.

ArribaTabla de contenido

ArribaCreación de los documentos

Para comenzar la creación de nuestro contador, debemos de cambiar todas las extensiones de nuestras páginas a php, ya que precisamos del uso de éste.

[font color="#008800"][b]Crear documentos para el contador[/h1]Una vez que ya tengamos cambiadas las extensiones de las páginas a las que queramos implementar el contador, pasaremos a crear los archivos que harán que el contador funcione correctamente.
 
000 
001 
002 
003 
004 
005 
006 
007 
008 
009 
010 
011 
012 
013 
014 
015 
016 
017 
018 
<?php
  
// Archivo en donde se acumulará el numero de visitas
  
$archivo "numero.dat";
  
// Abrimos el archivo para solamente leerlo (r de read)
  
$abre fopen($archivo"r");
  
// Leemos el contenido del archivo
  
$total fread($abrefilesize($archivo));
  
// Cerramos la conexión al archivo
  
fclose($abre);
  
// Abrimos nuevamente el archivo
  
$abre fopen($archivo"w");
  
// Sumamos 1 nueva visita
  
$total $total 1;
  
// Y reemplazamos por la nueva cantidad de visitas 
  
$grabar fwrite($abre$total);
  
// Cerramos la conexión al archivo
  
fclose($abre);
  
// Imprimimos el total de visitas en una variable ($total)
?>
 
Nota:
El documento (numero.dat) es el archivo donde guardaremos las visitas que vayan sumando. En esa variable, debemos insertar la dirección correspondiente donde vayamos a crear nuestro archivo.


Cuando hemos terminado de escribir nuestro código, lo guardamos como contador.php. Debemos de incluirlo donde están todas nuestras páginas web para no cometer futuros errores de código.

ArribaCreación de los archivos necesarios

Como hemos comentado anteriormente, necesitamos un archivo para que se guarden las visitas de nuestra web. Creamos un documento y le añadimos un cero (0), para que empiece a contar desde éste. Para terminar lo guardamos con la extensión .dat, en nuestro caso: numero.dat

Naturalmente lo seguimos incluyendo en la carpeta donde están nuestros documentos web, contador.php y ahora el numero.dat

ArribaImplementar el contador

Una vez que ya lo tenemos todo listo, solo falta incluirlo a las páginas que queremos que cuente las visitas. Para añadirlo a cualquier página, necesitamos escribir este código en php:
 
000 
001 
002 
<?php
  
include 'contador.php';
?>
 
Con este código lo que hacemos es llamar a contador.php para que sea esta página la que cuente las visitas. Y para finalizar, debemos incluir la variable $total para que se muestre el número de visitas. Esta variable se puede añadir en cualquier sitio.
 
000 
Esta página a recibido <?php echo  $total?> visitas.
 

ArribaMostrar el contador en otra página

Para mostrar el contador en otra página, lo único que tenemos que hacer es cambiar el archivo numero.dat y agregar un código php a la página donde lo queramos mostrar.

Primero, cambiamos la configuración de nuestro archivo contador.php y cambiamos la dirección donde se va a encontrar el archivo numero.dat. Finalizado esto comenzamos a insertar el nuevo código php a la página que queremos que muestre las visitas.
 
000 
001 
002 
003 
004 
005 
006 
007 
008 
009 
010 
<?php
  
// Archivo en donde se acumulará el numero de visitas
  
$archivo "numero.dat";
  
// Abrimos el archivo para solamente leerlo (r de read)
  
$abre fopen($archivo"r");
  
// Leemos el contenido del archivo
  
$total fread($abrefilesize($archivo));
  
// Cerramos la conexión al archivo
  
fclose($abre);
  
// Imprimimos el total de visitas en una variable ($total)
?>
 
Una vez que tengamos insertado este código lo único que tenemos que hacer es imprimir la variable $total como hicimos anteriormente.
 
000 
Esta página a recibido <?php echo  $total?> visitas.
 
 
 
Comentarios
21/09/06 Comentario 566
Una duda es qué pasaría con el archivo de texto si 2 usuarios acceden a él e intentan escribirlo simultáneamente... en teoría (ver) se rompería el fichero. No sé si se puede usar flock para evitar este inconveniente, en caso afirmativo, cómo se usaría?
24/09/06 Comentario 569
Para que el contador funcione en modo de bloqueo y no pueda sobreescribir datos, vamos a hacerle unas modificaciones:
 
000 
001 
002 
003 
004 
005 
006 
007 
008 
009 
010 
011 
012 
013 
014 
015 
016 
017 
018 
019 
020 
021 
022 
023 
<?
// Archivo en donde se acumulará el numero de visitas
$archivo "../numero.dat";
// Abrimos el archivo para solamente leerlo (r de read)
$abre fopen($archivo"r");
// Leemos el contenido del archivo
$total fread($abrefilesize($archivo));
// Cerramos la conexión al archivo
fclose($abre);
// Abrimos nuevamente el archivo
$abre fopen($archivo"w");
// Sumamos 1 nueva visita
$total $total 1;
// Bloqueamos el fichero
if ( flock( $abreLOCK_EX ) ) {
   
// Y reemplazamos por la nueva cantidad de visitas 
   
$grabar fwrite($abre$total);
   
// Desbloqueamos el fichero
   
flock( $abreLOCK_UN )
}
// Cerramos la conexión al archivo
fclose($abre);
// Imprimimos el total de visitas en una variable ($total)
?> 
 
Lo que no tengo claro es si la funcion flock bloquea la ejecución hasta que puede bloquear el fichero para escritura o habria que poner un while para que no se perdieran visitas.
 
Resolver dudas
Si tienes problemas o dudas con el contenido del artículo no dudes a preguntar en los foros de PHP de Programación Web indicando el artículo al que te refieres.