Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/09/2008, 15:49
Avatar de pato12
pato12
 
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 7 meses
Puntos: 101
[APORTE] Contador de usuarios online

Hola,
Ise un contador de Usuarios Online.
Consiste en un 3 archivos:
  • online.php
  • date.dat
  • total.dat
Codigo:
online.php
Código PHP:
<?php
##############################################
# CODIGO ECHO POR pato12 DEL FORO:
# forosdelweb.com
# (BETA)
##############################################
############- CONFIGURACIONES -#########
$date='date.dat'// Archivo donde se gurdara los datos
$total='total.dat'// Archivo donde se guardara el numero de usuarios online
$carpeta='./'// Carpeta donde se encuentran los archivos de textos
$not_us=500// Segundos que tienen que pasar para que un usuario aparesca como inactivo
$sep_sub=':'// Separador de ip y time
$sep_fila="\n"// Separador de usuarios
#############- NO MODIFICAR -############
$ip=$_SERVER['REMOTE_ADDR'];
$time=time(); // Time. NO MODIFICAR
$dat=array(); // Datos. NO MODIFICAR
$ips=array(); // Ips de los usuarios. NO MODIFICAR
$user_on=0// Usuario conectados. NO MODIFICAR
#########################################
$date=(!empty($carpeta))?$carpeta.$date:$date;
$total=(!empty($carpeta))?$carpeta.$total:$total;
$user_on++;
if(
file_exists($date))
$fp=fopen($date,"r+"); 
else
$fp=fopen($date,"a+"); 
$cont_a=@fread($fp,filesize($date)); 
fclose($fp); 
$sep=split($sep_fila,$cont_a); 
for (
$a=0$a count($sep); $a++) { 
$sub=split($sep_sub,$sep[$a]); 
if (
$sub[1] > ($time-$not_us) && !empty($sub[0])) { 
$dat[]= $sub[0].$sep_sub.$sub[1]; 
if(
$ip!=$sub[0])
$user_on++; 
$ips[]=$sub[0];
}

if(!
in_array($ip,$ips))
$dat[]=$ip.$sep_sub.$time.$sep_fila
$fp=fopen($date,"w"); 
fwrite ($fp,implode($sep_fila,$dat)); 
fclose($fp); 
if(
file_exists($total))
$fp=fopen($total,"w"); 
else
$fp=@fopen($total,"a+"); 
fwrite ($fp,$user_on); 
fclose($fp);
###########################################
# FINAL MENTE, LA VARIABLE QUE TIENE LOS
# USUARIOS ONLINE ES:
# $user_on;
# TAMBIEN EN EL ARCHIVO total.dat (COMO DEFAUT) SE GUARDAN~
# LOS USUARIOS ONLINE
###########################################
echo $user_on;
?>
Los otros 2 archivos se crean, si no existen.
No lo puede probar con muchos usuarios, solo con 3.
Gracias
Salu2
__________________
Half Music - www.halfmusic.com