Omog.de - Scripte - Generatoren - Schnipsel
Visit: www.Omog.de

Startseite | PHP-Schnipsel | UserOnline |

<?php
// uonline.txt muss erstellt werden und chmod 666
$onlinezeit="600"// Onlinezeit in Sekunden
$filedata="Demo/uonline.txt"// Pfad zur Speicherdatei
// Datei auslesen
function read_data($filedata){
    
$datei=fopen($filedata,"r");
    
$daten=fread($datei,filesize($filedata)+1);
    
fclose($datei);return $daten;
}
// Datei bereinigen
function reinigen($filedata){
    
$daten=read_data($filedata);
    
$zeile=explode("|*|",$daten);
    for(
$i=0;$i<count($zeile);$i++){
        
$spalte=explode("|",$zeile[$i]);
        if(
time()>=$spalte[1]){
            
$daten=str_replace($spalte[0]."|".$spalte[1]."|*|","",$daten);
        }
    }
    
$datei=fopen($filedata,"w"); 
    
fwrite($datei,$daten); 
    
fclose($datei);
}
// IP prüfen
function ip_check($filedata){
    
$check="";
    
$ip=$_SERVER['REMOTE_ADDR'];
    
$daten=read_data($filedata);
    
$zeile=explode("|*|",$daten);
    for(
$i=0;$i<count($zeile);$i++){
        
$spalte=explode("|",$zeile[$i]);
            if(
$ip==$spalte[0]){
                
$check=1;
            }
    }
return 
$check;}
// IP dazuschreiben
function counter($onlinezeit,$filedata){
    
$ip=$_SERVER['REMOTE_ADDR'];
    
$dauer=time()+$onlinezeit;
    
$check=ip_check($filedata);
    if(
$check!=1){
        
$datei=fopen($filedata,"a"); 
        
fputs($datei,$ip."|".$dauer."|*|"); 
        
fclose($datei);
    }
}
// Anzahl Online auslesen
function ausgabe($filedata){
    
$daten=read_data($filedata);
    
$zeile=explode("|*|",$daten);
    
$ausgabe=count($zeile)-1;
    if(
$ausgabe==0){
        
$ausgabe=1;
    }
    echo 
$ausgabe;
}
// Starten
reinigen($filedata);
counter($onlinezeit,$filedata);
ausgabe($filedata);
?>