Hola gente hace un par largo que ni aparezco por acá, y bueno, tengo un pequeño problema con un código que encontré por Internet.
Es un contador de usuarios online en una pagina (con PHP y un archivo DAT).
Este es el codigo:
contador.php Código PHP:
<?php
$REMOTE_ = $_SERVER['REMOTE_ADDR'];
$tiempo_logout = 30; // segundos tras los cuales un usuario es marcado como inactivo
$arr = file("datos.dat");
$contenido = $REMOTE_.":".time()."\n";
for($i=0;$i < sizeof($arr);$i++){
$tmp = explode(":",$arr[$i]);
if(($tmp[0]!=$REMOTE_)&&((time() - $tmp[1])<$tiempo_logout)){
$contenido.= $REMOTE_.":".time()."\n";
}
}
$fp = fopen("datos.dat","w");
fputs($fp,$contenido);
fclose($fp);
$array = file("datos.dat");
$USUARIOS_ACTIVOS = count($array);
if($USUARIOS_ACTIVOS=="1"){
echo "1 user activo";
}else{
echo $USUARIOS_ACTIVOS. " users activos";
}
?>
Y me muestra
1 User activo; pero si le digo a unos amigos que ingresen a la pagina, me sigue dando un user activo, entré al "datos.dat" para verificar, y solo me agrega la primer ip y no me agrega las demas q entraron a la pagina. ¿Le falta algo a ese codigo? ¿que es lo q esoy haciendo mal? (el directorio y el archivo "datos.dat" tienen permisos 777