Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/07/2008, 17:20
Avatar de Sebastian1046
Sebastian1046
 
Fecha de Ingreso: junio-2003
Mensajes: 278
Antigüedad: 21 años, 5 meses
Puntos: 0
Respuesta: Visitas Activas

Cita:
Iniciado por MoebiusDigital Ver Mensaje
¿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&aacute;n los usuarios activos
$inactivo=600; //tiempo en segundos en que un usuario estar&aacute; 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&ordm; 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.
__________________
Agradesco infinitamente a toda la gente del foro que me ayudo/a.