Foros del Web » Programando para Internet » PHP »

Problema con usuarios activos.

Estas en el tema de Problema con usuarios activos. en el foro de PHP en Foros del Web. Hola, estuve mirando el faq de php y encontre esta aplicacion: Tu servidor debe admitir funciones de lectura y escritura en archivos de texto. Empezamos ...
  #1 (permalink)  
Antiguo 22/09/2004, 17:37
 
Fecha de Ingreso: abril-2004
Mensajes: 60
Antigüedad: 20 años
Puntos: 0
Problema con usuarios activos.

Hola, estuve mirando el faq de php y encontre esta aplicacion:

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"; ?>


Hasta aqui todo bien, lo hice lo subi al servidor y funcionaba pero en esa misma carpeta donde tengo los archivos me crea un archivo llamado "error_log" con el siguiente texto:

[23-Sep-2004 01:24:55] PHP Warning: fread(): Length parameter must be greater than 0. in "aqui pone la ruta del archivo activos.php" on line 6
[23-Sep-2004 01:24:55] PHP Warning: fopen(usuarios.txt): failed to open stream: Permission denied in "aqui pone la ruta del archivo activos.php" on line 19
[23-Sep-2004 01:24:55] PHP Warning: fwrite(): supplied argument is not a valid stream resource in "aqui pone la ruta del archivo activos.php" on line 20
[23-Sep-2004 01:24:55] PHP Warning: fclose(): supplied argument is not a valid stream resource in "aqui pone la ruta del archivo activos.php" on line 21
[23-Sep-2004


Q significa esto?? Por si es de utilidad le di permiso 777 a la carpeta donde tenia esos archivos.
  #2 (permalink)  
Antiguo 22/09/2004, 20:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Parece que tienes que crear ese tal usuarios.txt y por lo menos a ese archivo darle permisos CHMOD 0777 (que si ya le distes a todo el directorio ya lo tienes ..)

Lo primero que hace ese script es intentar abrir el archivo (que si no está creado .. por ahí empiezan los problemas).

Un saludo,
  #3 (permalink)  
Antiguo 23/09/2004, 07:07
 
Fecha de Ingreso: abril-2004
Mensajes: 60
Antigüedad: 20 años
Puntos: 0
Gracias por responder, pero el problema era q el archivo usuarios.txt tenia permiso 644 y lo he cambiado a 777.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:15.