Änderungen von Dateiinhalt als Eingabestrom für Programm

testit

Well-Known Member
Hallo,

ich möchte gerne durch ein (PHP)-Script jede neue an eine Datei angehängte Zeile (bspw. LOG-Dateien) parsen.

Da tail -f DATEINAME | grep SUCHMUSTER funktioniert, müsste das doch ähnlich mit einem PHP-Proggy funktionieren, oder?

Nette Grüsse und einen schönen 1. Advent

testit
 
Ja das geht natürlich.

Brauchen tust du dafür: fopen(), ob_implicit_flush(1) (für direkte Ausgabe), fpassthru() (nicht feof() und fread() nutzen um auf neue Daten zu prüffen das führt zu leeren Ergebnissen, wenn Du erst einmal an ein ende gekommen bist) und fgets() zum Zeilenweise auslesen.

Die ausgelsenen Zeilen kannst du dann natürlich mit preg_*() und co. prüffen bevor Du die ausgibst.

Mit set_time_limit(0) kannst Du die Zeitbegrenzug aufheben, solltest dann aber connection_status() abfragen um den Skript auch zu beenden wenn der Client abbricht...
 
Back
Top