Sven Rautenberg: Aus txt-Datei die letzten 5 Zeilen auslesen.

Beitrag lesen

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:|