Hola... el otro dia pregunte por un contador de personas activas en mi web y me dieron esto:
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:
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:
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
Pero no me funciona...no se por que ..... puede se por que lo tengo puesto en un frame... o no se alguien me ayuda?