Usuarios activos con PHP sin BD

Veremos cómo conocer y mostrar la cantidad de usuarios que están visitando el sitio en forma simultánea almacenando los datos en un archivo de texto.

El código que vamos a utilizar en este artículo, consta simplemente en editar un archivo de texto (usuarios.dat) cada vez que ingresa un usuario y almacenar el número de IP y la hora de inicio de sesión del usuario en ese archivo.

Código fuente

activos.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";
?>

Para que el script funcione correctamente, tendremos que crear el archivo usuarios.dat sin incorporarle nada de contenido y darle permisos de escritura.

Deja un comentario