TinTin Geschrieben 16. September 2002 Teilen Geschrieben 16. September 2002 hi, will ein kleines script für eine log datei schreiben. format: Zahl:IP:Host das untenstehende funktioniert auch so weit. ich hab nur das problem, dass wenn der alte eintrag länger ist als der neue immernoch ein rest des alten eintrags zu sehen ist. alter eintrag: 1:1.2.3.4:alter.host neuer eintrag: 2:6.7.8.9:neu.host ergebnis: 2:6.7.8.9:neu.hostst der neue eintrag soll die alte zeile aber komplett löschen. was kann ich tun??? cu TinTin <? $path = "./log/"; $file = "test.log"; if (file_exists($path.$file)) { $logCount = fopen($path.$file, "r+"); if ($logCount) { $readLog = fgets($logCount,1000); $li = strstr($readLog, ":"); if ($li) { list ($isCount, $lastIp, $lastHost) = split (':', $readLog); ftruncate ($logCount, ftell($logCount)); $newCount = ($isCount+1); $newIp = $REMOTE_ADDR; $newHost = gethostbyaddr($senderIp); $newEntry = $newCount.":".$newIp.":".$newHost; } // dateizeiger zurücksetzen rewind($logCount); // rausschreiben flock($logCount,2); fwrite($logCount, $newEntry); flock($logCount,3); // dateizeiger schließen fclose($logCount); exit; } else { echo "2. Datei wurde nicht gefunden ".$file; exit(); } print $newEntry; ?>[/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
root@localhost Geschrieben 19. September 2002 Teilen Geschrieben 19. September 2002 ich würde die datei komplett einlesen (array file ($filename) ) dann den array nach dem alten eintrag durchsuchen und diesen dann z.B. mit preg_replace mit dem neuen ersetzen dann haste ein array mit der aktualisierten logdatei und diesen schreibst dann einfach auf die datei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.