Tema: Usuarios activos
Pregunta: ¿Cómo sé los usuarios activos que hay en mi web?
Respuesta:
Tu servidor debe admitir funciones de lectura y escritura en archivos de texto.
Empezamos creando un archivo
usuarios.txt EN BLANCO.
A continuación creamos otro archivo
activos.php cuyo contenido sea:
Código PHP:
<? $archivo="usuarios.txt"; //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] != $REMOTE_ADDR && $datos[1] > ($descontar)) {
$res.= $datos[0].":".$datos[1]."\n";
$contar++;
}}
$res.="$REMOTE_ADDR:$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 usuario activo";}else{$contar="$contar usuarios activos";}
echo $contar; //Lo mostramos por pantalla
?>
Finalmente subes el
activos.php y el
usuarios.txt a tu server. Y luego en el lugar de tu página donde quieras ver los usuarios activos pones:
Código PHP:
<? include "activos.php"; ?>
Como puedes observar, puedes cambiar la ruta del archivo usuarios.txt (p. ej.: "../../usuarios.txt"); en este caso he supuesto que la aplicación y el archivo auxiliar están en la misma carpeta.
¡¡¡Espero que les sea de ayuda!!!
Saludos