DiamondDog: Online Besucher Script erweitern

Beitrag lesen

Also wenn ich jetzt alles richtig verstanden habe muß es so aussehn:

  
<?php  
$f_online = "besucher.txt";  // hier werden die Daten gespeichert  
if( file_exists($f_online) ) // Prüfen ob Datei existiert  
{  
  $logoutTime = 300;  
  $IP = $REMOTE_ADDR;  
  $users = 0;  
  $res = "";  
  $fp = fopen($f_online,"r"); // Öffne zum Lesen und Schreiben  
  if (!flock ($fp, LOCK_EX)) {    // Dateisperren  
  die ('Sperren der Datei fehlgeschlagen!');// Wenn Dateisperren fehlegschlagen  
  }  
  $t = time();  
  $content = fread($fp,filesize($f_online));  
  $lineas = split("  
",$content);  
  for( $i = 0; $i < count($lineas); $i++ )  
  {  
    $datos = split(":",$lineas[$i]);  
    $n = $t - $logoutTime;  
    if ($datos[0] != $IP && $datos[1] > ($n))  
    {  
      $res .= "$datos[0]:$datos[1]  
";  
      $usuarios++;  
    }  
  }  
  $res .= "$IP:$t  
";  
  $users++;  
  fseek ($fp, 0, SEEK_SET); // Dateizeiger wieder auf den Anfang  
  ftruncate ($fp, 0); // Dateiinhalt löschen  
  fwrite ($fp,$res);  // Datei in Txt schreiben  
  fclose($fp); // Datei schließen  
}  
echo $users." User online";  // User online ausgeben  
?>  

wie Du bei Christian nachlesen kannst, musst Du die Datei zum Lesen und Schreiben öffnen. Ab diesem Zeitpunkt darf keiner mehr die Datei lesen, auch nicht zwischendurch.

Hoffe das ich das richtig verstanden und umgestezt habe. Nur sicher bin ich mir nicht weil die Sperre ja nach der Datei kommt und sie somit noch gelesen werden kann oder?
Aber das andere müste doch soweit schon richtig sein oder?