3 de febrero de 2007

Como hacer un contador?

Este contador esta basado en otros dos que modifique, lo comun es hacer con sesiones , pero el problema es que cuando se abre y cierra el explorador vuelve a contar como otra visita, eso no me gusto asi que lo cambie.



<?php
/*CONTADOR SIN SESIONES REALIZADO POR MI, VERIFICA IP DIA Y MES*/
$archivo = "contador3.txt";
if (file_exists($archivo)) {
$datos = file_get_contents($archivo);
$info=explode(" ",$datos);
} else {
$info=array(1,date("D"),date("M"),$_SERVER['REMOTE_ADDR']);
}

if($info[1]!=date("D") $info[2]!=date("M") $info[3]!=$_SERVER['REMOTE_ADDR']){
$info[0]++;
$info[1] = date("D");
$info[2] = date("M");
$info[3] = $_SERVER['REMOTE_ADDR'];
}

$info_nueva=implode(" ",$info);
$es = fopen($archivo,"w");
fwrite($es,$info_nueva);
fclose($es);

echo "<h1>Es el visitante numero{$info[0]}</h1>";
?>



Ahora veamos un poco el codigo, voy a explicar lo que a mi parecer es necesario si tienen dudas, postean sus dudas:

  • Primero que nada el archivo se llama contador3.txt (era mi tercer intento), guarda datos de la siguiente forma, "nvisitas dia mes ipremota" los guardo con espacio para despues separarlos.
  • explode(" ",$datos) es para separar la linea de texto por espacios en un array.
  • implode(" ",$info) es para unir los valores de un array deacuerdo a un caracter en este caso el espacio.



No hay comentarios:

Publicar un comentario