PHP feher im script, aber wo?
derjunge
- php
0 silver Karnickel0 ich
hallo, ich habe folgends php script geschrieben,
Log-Script
es funktioniert bei mir als auch ohne probleme, aber bei manch anderen, dies bisher getestet haben, hats den besuch in die logdatei geschrieben, obwohl die 1800 sekunden noch nicht um waren..
liegts daran, dass die datei nicht beim öffnen von dem script gesperrt wird oder was denkt ihr?
getestet wurde mit ie (ich) und opera, bei beiden traten die fehler auf...
<?php
$datumjetzt = time();
$sub = $datumjetzt - 1800;
$ip = getenv ("REMOTE_ADDR");
$inhalt_arr = file('log.txt');
$speicher = 1;
foreach ($inhalt_arr as $zeile)
{
$zeile = trim($zeile);
$temp_arr = explode(' ',$zeile);
//print_r($temp_arr);
if($sub - $temp_arr[0] < 1800 && $temp_arr[1] == $ip)
{
$speicher = 0;
}
else
{
$speicher = 1;
}
}
if($speicher == 1)
{
$information = $datumjetzt." ".$ip. "\r\n";
$datei_handle=fopen("log.txt",'a');
fwrite($datei_handle,$information);
fclose($datei_handle);
}
?>
Hi,
hallo, ich habe folgends php script geschrieben,
es funktioniert bei mir als auch ohne probleme, aber bei manch anderen, dies bisher getestet haben, hats den besuch in die logdatei geschrieben, obwohl die 1800 sekunden noch nicht um waren..
bring das Problem bitte mal auf den Punkt. Was funzt wann nicht? (Und hat Du einen Verdacht? ;)
silver Karnickel
also:
das ist eine script zum zählen der besucher.
dieses script schaut, ob in den letzten 1800 sekunden eine die anfordernde ip schonmal da war, wenn ja, mach das script nichts, wenn nein, schreibt es den wert in die logdatei dazu...
das problem:
bei einem test von einem fremden rechner hat es nur teilweise funktioniert. manchmal tut das script was es soll (wie oben beschreiben)manchmal aber auch nicht und es schreibt einfach die daten in die logdatei, obwohl die 1800 sekunden nicht um sind.
mein verdacht:
-die datei wird beim auslesen und schreiben nicht gesperrt?
-der speicher, der den standartwert 1 hat und 1 die bedingung ist, dass die daten in die log geschreiben werden
...
habt ihr eine idee???
habe grade das hier gefunden, ist das sinnvoll?
flock($.....,LOCK_EX + LOCK_NB)
danke und grüße