Moin!
ich möchte aus einer bestehenden TXT Datei die letzten 5 Zeilen auslesen.
Wie kann ich dies elegant lösen?
Es gibt, wie immer, mehrere Möglichkeiten.
Wenn du wirklich nur die letzten 5 Zeilen brauchst: Unter Linux und praktisch jedem anderen Unix gibt es den Befehl "tail", welcher die letzten Zeilen einer Textdatei ausgibt.
Mit "tail -n 5 dateiname" kriegst du die letzten 5 Zeilen auf der Kommandozeilenebene ausgegeben. Wenn du diese Ausgabe mittels exec()-Funktion in PHP einfängst, hast du eine sehr elegante Lösung:
exec("tail -n 5 dateiname",$fuenfzeilen);
gibt dir ein Array zurück, welches die letzten 5 Zeilen enthält.
Wenn du lieber systemunabhängig bleiben willst, dann setze deinen eigenen Ansatz einfach konsequenter um:
<?
$zeilen = file ('test.txt');
Das liest die gesamte Datei in ein Array ein, jede Zeile ist ein Element von 0 bis X.
$anzahl = count($zeilen);
Das guckt nach, wieviele Zeilen enthalten sind.
und mit:
for ($i=$anzahl-5; $i<$anzahl; $i++)
{
echo "Zeile $i: {$zeilen[$i]}";
}
gibst du einfach die letzten 5 Zeilen aus.
- Sven Rautenberg
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|