Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2009, 00:06
Avatar de acoevil
acoevil
 
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 8 meses
Puntos: 32
Usuarios en linea

Hola quetal cree un script que muestra los usuarios en linea, por si a alguien le interesa =)

Si lo usan solo tienen que tener un archivo txt llamado usuarios.txt y donde quieran que muestre los usuarios colocan require_once("usuarios.php");


Código PHP:
<?php
class Activos
{
    
//creado por acoevil
    
private $nombre;
    private 
$modo;
    private 
$ip;
    private 
$inactivo=300;
    private 
$hora;
    private 
$activos=0;
        
    function 
Activos($nombre)
    {
        
$this->nombre=$nombre;
        
$this->modo="r";
        
$this->ip=$_SERVER['REMOTE_ADDR'];
        
$this->hora=$tiempo=date("h:i:s");
        
################################
        
$apuntador=$this->abrir();
        
$usuarios=$this->leer($apuntador);
        
$this->escribimos($usuarios);
        echo 
"Usuarios en linea: ".$this->activos;
        }
    function 
abrir()
    {
        
$apuntador=fopen($this->nombre,$this->modo);
        return 
$apuntador;     
    }
    function 
leer($apuntador)
    {
        while(!
feof($apuntador))
        {
            
$linea=fgets($apuntador);
            list(
$ip,$tiempo_t)=split(" ",$linea);
            if(
$ip==$this->ip)
            {
                
$mi_ip=$this->ip." ".$this->hora;
                
$this->activos++;
            }
            else
            {
                
$diferencia=strtotime($this->hora)-strtotime($tiempo_t);
                if(
$diferencia<$this->inactivo)
                {
                    
$tx=$tx.$ip." ".$tiempo_t."\n";
                    
$this->activos++;    
                }
            }
            
    }
        if(
$mi_ip=="")
        {
            
$mi_ip=$this->ip." ".$this->hora;
            
$this->activos++;
        }
        
fclose($apuntador);
        return 
$introduce=$tx.$mi_ip;
        
    }
    function 
escribimos($usuarios)
    {
        
$fp=fopen($this->nombre,"w");    
        
fwrite($fp,$usuarios);
        
fclose($fp);
            
    }
}
$usuarios=new Activos("usuarios.txt");