Sunday, February 17, 2008

Contador de usuarios activos con PHP

Con este script podemos contar los usuarios activos con PHP.

No vamos a usar ninguna base de datos. En su lugar usaremos un archivo llamado usuarios.dat

Creamos nuestro script PHP y lo llamamos activos.php

<?php

$tiempo_logout = 600; // segundos tras los cuales un usuario es marcado como inactivo

$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] ) < $tiempo_logout ))

{

$contenido .= $REMOTE_ADDR.":".time()." ";

}

}

$fp = fopen("usuarios.dat","w");

fputs($fp,$contenido);

fclose($fp);

$array = file("usuarios.dat");

$USUARIOS_ACTIVOS = count($array);

?>

La explicación de lo que hace el codigo anterior es la siguiente:

  • Cargamos usuarios.dat a un array
  • Creamos el archivo de texto con las IP y la hora de visita de los que visitan nuestra web
  • “Borramos” de ese archivo los que llevan más de $tiempo_logout sin actividad
  • Escribimos el archivo
  • Declaramos una variable $USUARIOS_ACTIVOS que contiene el número de usuarios activos del momento

Para utilizar este Script, al principio de cualquier página ponemos

<?php

include(”activos.php”)

?>

y donde queremos mostrar el número de usuarios, usamos la variable $USUARIOS_ACTIVOS.

No comments: