Hola
Estamos probado este script en php para contabilizar usuarios online sin base de datos y ocurre que algo falla en el código ya que en el archivo usuarios.dat se escribe la IP del visitante actual y cuando llega uno nuevo se sobreescribe, así que siempre se muestra solo 1 usuario activo
¿que es lo que falla es este script?
Os agradezco de antemano vuestra ayuda
Código PHP:
<?
// Usuarios activos con PHP sin utilizar bases de datos
// Tiempo en segundos en que expira la sesión.
$fin_session = 600;
// En usuarios.dat guardaremos el IP y hora en que el usuario inicio la sesión
$arr = file("usuarios.dat");
$contenido = $REMOTE_ADDR.":".time()." ";
for ( $i = 0 ; $i < sizeof($arr) ; $i++ )
{
$tmp = explode(":",$arr[$i]);
if (( $tmp[0] != $REMOTE_ADDR ) && (( time() - $tmp[1] ) < $fin_session ))
{
$contenido .= $REMOTE_ADDR.":".time()." ";
}
}
$fp = fopen("usuarios.dat","w");
fputs($fp,$contenido);
fclose($fp);
$array = file("usuarios.dat");
$USUARIOS_ACTIVOS = count($array);
// Imprimimos la cantiadad de usuarios activos
echo "Hay ".$USUARIOS_ACTIVOS." usuarios activos";
?>