Foros del Web » Programando para Internet » PHP »

[APORTE] Contador de usuarios online

Estas en el tema de [APORTE] Contador de usuarios online en el foro de PHP en Foros del Web. 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) ############################################## ...
  #1 (permalink)  
Antiguo 02/09/2008, 15:49
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 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
  #2 (permalink)  
Antiguo 02/09/2008, 16:08
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: [APORTE] Contador de usuarios online

Me parece bueno que hagas aportes

Pero
Trata de estandarizar tu código.
Revisa esto http://framework.zend.com/manual/en/...-standard.html

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
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 14:10.