umm, probar este a ver que pasa...
Código PHP:
<?php
if ($_SERVER) {
if ( isset($_SERVER[HTTP_X_FORWARDED_FOR] )) {
$ip_real = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif ( isset($_SERVER['HTTP_CLIENT_IP'] )) {
$ip_real = $_SERVER['HTTP_CLIENT_IP'];
}
else {
$ip_real = $_SERVER['REMOTE_ADDR'];
}
}
else {
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
$ip_real = getenv( 'HTTP_X_FORWARDED_FOR' );
}
elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
$ip_real = getenv( 'HTTP_CLIENT_IP' );
}
else {
$ip_real = getenv( 'REMOTE_ADDR' );
}
}
$archivo = "usuarios.dat"; //archivo donde almacenarán los usuarios activos
$inactivo = 300;//tiempo
$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] != $ip_real && $datos[1] > ($descontar)) {
$res.= $datos[0].":".$datos[1]."\n";
$contar++;
}
}
$res.="$ip_real:$tiempo\n";
$contar++;
$fp = fopen($archivo,"w");
fwrite ($fp,$res);
fclose($fp);
if ($contar==1){$contar="1";}else{$contar="$contar";}
echo "<center>usuarios online: $contar";