Seja
nosso parceiro !
StrPatch);
$Reg = count($Arquivo);
for($i=0;$i<$Reg;$i++){
list($Ip,,) = explode("|",$Arquivo[$i]);
if($Ip!=$IpNow)
continue;
return $i;
}
}
//Limpa ips com data expirada
function Limpar(){
$DataAgora = date("YmdHis");
$Arquivo = @file($this->StrPatch);
$Arquivo2 = @fopen($this->StrPatch,"w+");
$Reg = count($Arquivo);
for($i=0;$i<$Reg;$i++){
list($Ip,$Data) = explode("|",$Arquivo[$i]);
if($Data>$DataAgora){
fwrite($Arquivo2,"$Ip|$Data");
}
}
fclose($Arquivo2);
}
//Cadastra o novo ip na lista
function Salva(){
$IpAgora = $_SERVER['REMOTE_ADDR'];
$DataAgora = (date("YmdHis")+$this->TimeOut);
$Arquivo = fopen($this->StrPatch,"a");
fwrite($Arquivo,"$IpAgora|$DataAgora\n");
fclose($Arquivo);
}
//Atualiza o ip na lista
function Update($Linha){
$IpAgora = $_SERVER['REMOTE_ADDR'];
$DataAgora = (date("YmdHis")+$this->TimeOut);
$Arquivo = @file($this->StrPatch);
$Arquivo2 = @fopen($this->StrPatch,"w+");
$Reg = count($Arquivo);
for($i=0;$i<$Reg;$i++){
list($Ip,$Data) = explode("|",$Arquivo[$i]);
if($i == $Linha)
fwrite($Arquivo2,"$IpAgora|$DataAgora\n");
else
fwrite($Arquivo2,"$Ip|$Data");
}
fclose($Arquivo2);
}
//Verifica quantos estão online
function Online(){
$Arquivo = @file($this->StrPatch);
$Reg = count($Arquivo);
return $Reg;
}
}
/*
* Insira o código abaixo apenas nas páginas onde
* será exibida a estatística dos usuários.
* Abaixo segue um exemplo:
StrPatch = 'online.txt';
$online->TimeOut = 200;
$Linha = $online->Verifica($_SERVER['REMOTE_ADDR']);
if(is_null($Linha)){
$online->Limpar();
$online->Salva();
$On = $online->Online();
}
else{
$online->Update($Linha);
$online->Limpar();
$On = $online->Online();
}
echo("Usuários online: $On");
?>
*/
//Inicio
$online = new UsersOnline();
$online->StrPatch = 'online.txt';
$online->TimeOut = 200;
$Linha = $online->Verifica($_SERVER['REMOTE_ADDR']);
if(is_null($Linha)){
$online->Limpar();
$online->Salva();
$On = $online->Online();
}
else{
$online->Update($Linha);
$online->Limpar();
$On = $online->Online();
}
echo("Usuários online: $On");
?>
|