vorletzte Zeile einer Logfile auslesen

Andre267

Erfahrenes Mitglied
Schönen guten Tag,

ich versuche gerade eine Logfile auszulesen was auch soweit geht nur ich weiß nicht wie ich die vorletzte Zeile einer Logfile auslesen kann.
Die letzte Zeile ist bei mir immer leer, deswegen brauche ich die vorletzte Zeile und muss diese in eine Variable speichern.
 
Du kannst mit file() eine ganze Datei in ein Array einlesen. Den vorletzen Arrayeintrag zu finden sollte kein Problem darstellen ;)
 
Man kann mit fseek ans Ende der Datei springen und dann solange zurück laufen, bis \n 2mal erreicht wurde. Dann liest man man eine Zeile.

Wenn man es mit einer KByte großen Datei zu tun hat, ist der Ansatz über file() vielleicht Okt, irgend wann reicht der Speicher nicht mehr.
 
Okay, kann ich auf meinen root auch auf datein im /home Ordner zugreifen?
Oder muss ich der datei noch irgendwelche rechte geben oder so.
Das ganze ist auf einen linux root.
 
Ich habe gerade mal versucht mit file() versucht auf die datei zu zugreifen und bekomme folgende hübsche Naricht:
Warning: file() [function.file]: open_basedir restriction in effect. File(/home/wc3/ghost/ghost.log) is not within the allowed path(s)

Ich benutze Confixx für meinen root und habe keine Ahnung wie ich das umgehen oder spiegeln kann.
(Die datei 1 zu 1 Spiegeln und sie ständig aktuell halten.)
 
Zuletzt bearbeitet:
Zurück