Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/09/2005, 19:00
CODELYOKO
 
Fecha de Ingreso: agosto-2005
Mensajes: 28
Antigüedad: 18 años, 8 meses
Puntos: 0
Que Sepan Cuando Estoy Conectado

Hola a todos de nuevo. Vamos a ver si alguien me puede ayudar:

Resulta que intento hacer un sistema para que, almacenando la ip de los usuarios que entren, en un archivo .txt, pueda el servidor a traves de PHP, distinguir las ip e identificar la mia, para visualizar a los usuarios, que yo (webmaster) estoy conectado.

Estoy utilizando para escribir las ip's el siguiente codigo fopen()


<? $archivo="usuarios.txt";

$res.="$REMOTE_ADDR \n";

$fp=fopen($archivo,"w");

fwrite ($fp,$res);

fclose($fp);

?>


y aqui es donde vienen mis dudas, ya que no se como hacer para que a traves de la función de lectura de fopen(), lea las lineas que se van creando en el archivo de texto, e identifique de entre todas ellas mi ip (que es estatica), y visualice que estoy conectado.

y el segundo problema es ¿como puedo borrar las ip's que ya no estan visualizando la pagina, para que no se queden siempre de por vida en el archivo de texto?

Encontré un codigo aqui en forosdelweb, que reconoce de un archivo de texto las ip's y las diferencia, para que nunca se cuenten ip's iguales, y que las cuenta, poniendo los usuarios conectados en el momento.

Yo creo que a partir de este codigo php, se puede hacer, pero como aun no soy muy experto, y me lio, he intentado modificarlo y no me de resultado.

Les dejo también el codigo para ver si se puede modificar desde éste y si no se puede, a ver si pueden por favor ponerme el codigo que debo usar o que otra manera hay. Las bases MySQL aun no las manejo bien tp. Sé que pido bastante pero si me pudieran hacer el favor se lo agradecia mucho, gracias, Alberto

Codigo PHP:

<? $archivo="usuarios.txt";

$inactivo=600;

$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++;

$fp=fopen($archivo,"w");

fwrite ($fp,$res);

fclose($fp);

if ($contar==1){$contar="1 usuario activo";}else{$contar="$contar usuarios activos";}

echo $contar;

?>