Cita:
Iniciado por MoebiusDigital ¿Podrías comentar como está realizado tu contador de visitas activas en PHP? Me interesa mejorar un script que tengo armado.
Gracias,
Pablo
---------------------------------------------------------------------
Uff, alta revivida de tread, ya ni recuerdo este post mio.
Te paso el mejor contador activo con base de datos de texto que conozco, no se tannto de php como para explicarlo paso a paso, tal vez otro te pueda orientar mejor.
Saludos.
---------------------------------------------------------------------
contadoract.php Cita: <?
if (getenv("HTTP_X_FORWARDED_FOR")) {
$cipa = getenv("HTTP_X_FORWARDED_FOR");
} else {
$cipa = getenv("REMOTE_ADDR");
}
$archivo="contador/usuarios.dat"; //archivo donde almacenarán los usuarios activos
$inactivo=600; //tiempo en segundos en que un usuario estará inactivo
$contar=0;
$fp=fopen($archivo,"r");
$tiempo=time();
$contenido=fread($fp,filesize($archivo));
fclose($fp);
$lineas=split("\n",$contenido);
$filas=file($archivo);
for ($a=0; $a < sizeof($filas); $a++) {
$datos=split(':',$lineas[$a]);
$descontar=$tiempo-$inactivo;
if ($datos[0] != $cipa && $datos[1] > ($descontar)) {
$res.= $datos[0].":".$datos[1]."\n";
$contar++;
}}
$res.="$cipa:$tiempo\n";
$contar++; // Ya tenemos el total de usuarios activos
$fp=fopen($archivo,"w");
fwrite ($fp,$res);
fclose($fp);
//Ahora damos formato a la salida, modifica esto a tu gusto
//Ten en cuenta que la variable $contar contiene el nº de usuarios activos
if ($contar==1){$contar="1";}else{$contar="$contar";}
echo"Usuarios nevegando: $contar"; //Lo mostramos por pantalla
?>
contador/usuarios.dat (Darle atributos 777)
Cita: 200.75.174.102:1207251260
Por ultimo llamas al archivo desde tu pagina principal:
<?php include ("contadoract.php");?>
y listo.