Hat leider net geholfen, aber ich habs anders gelöst. Gibt trotzdem schon wieder neue Probleme:
Neue Datei:
PHP-Code:
<?
$fp = fopen('counter_daten.txt', 'r+');
$zeit = time();
//Zeilenweises Einlesen; wenn Zeit abgelaufen, ip+alteZeit nicht in neue Daten aufgenommen
while( !feof($fp) )
{
$daten = fgets($fp, 256);
$werte = explode(',', $daten);
if( $werte[1]<$zeit ) $neu[] = $daten;
}
//Besucherzahl erhöhen
$neu[0] += 1;
//Testweise neuen Besucher anlegen
$ip = rand(1,100);
$ablauf = time()+3000;
if( isset($ip) ){
$neu[] = "$ip,$ablauf";
unset($ip);
}
//Datei leeren
rewind($fp); ftruncate ($fp, 0);
//Daten neu schreiben
for($i=0; $i<count($neu); $i++){
$neu[$i] = chop($neu[$i]);
fputs($fp, "$neu[$i]");
if( $i<count($neu)-1 ) fputs($fp, "\n");
echo $neu[$i].'<br><br>';
}
fclose($fp);
?>
So sollte der inhalt von counter_daten.txt aussehen:
Code:
87
50,1063982448
25,1063982475
67,1063982475
Allerdings funktioniert das Überprüfen ganz am Anfang noch nicht richtig.
"if( $werte[1]<$zeit ) $neu[] = $daten;"
Angenommen ich ersetze die Zeile mit
"if( 1<2 ) $neu[] = $daten;
dann funktioniert alles.
???