Hello,
#################################################
Logdatei schreiben
foreach ($search_arr as $search_exp) {
$zeilen = file("./_log/search_log.txt");
$anz_zeilen = sizeof($zeilen);$x=0;
Datenfile auslesen
for ($i=0; $i<$anz_zeilen; $i++) {
list ($search_word, $search_num) = split("\|", chop($zeilen[$i]));
// wenn Suchbegriff gefunden wird
if ($search_exp==$search_word) {
$search_num++;
$i-2;
$x++;
}
$new_log .= "$search_word|$search_num\n";
}// wenn der Suchbegriff nicht schon geloggt wurde
if ($x==0) {
$search_num = "1";
$new_log .= "$search_exp|$search_num\n";
}$data = fopen("./_log/search_log.txt","w+");
flock($data,1);
fwrite($data, $new_log);
flock($data,3);
fclose($data);
unset($new_log);
}
#################################################
Woher der 500er kommt, sehe ich auch nicht auf den ersten Blick. Könnte evtl. an preg_match() liegen. Aber dass das Locking falsch ist, sehe ich auf einen Blick. Das musst Du reparieren.
Es muss der gesamte Vorgang im Schutze des Exclusive Locks stattfinden.
Sperre anfordern
Daten lesen
Daten verändern
Daten wegschreiben
Sperre aufheben
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau