PHP:¿Cómo sé los usuarios activos que hay en mi web?
De Foros del Web
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.
--ferny 22 Ene 2003
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
