Peter Mairhofer: Dateien revers auslesen

Hallo!

Ich habe eine Textdatei, der in unregelmässigen Abständen Zeilen hinzugefügt werden. Diese sind dann immer die aktuellsten. Die Datei kann mitunter sehr gross werden, also z.B. alles in ein Array schreiben kommt nicht in Frage.

Gibt es in PHP die einfache Möglichkeit, z.B. die letzten 10 Zeilen einer Textdatei auszulesen, ohne den Anfang und damit ohne Langsamkeit?

Bei Binärdateien wäre es ja nicht so schwer, einfach ein seek an das Ende - Offset und lesen...

Vielen Dank!

Peter

  1. Moin,

    Gibt es in PHP die einfache Möglichkeit, z.B. die letzten 10 Zeilen einer Textdatei auszulesen, ohne den Anfang und damit ohne Langsamkeit?

    tail(1) ist dein Freund.

    --
    Henryk Plötz
    Grüße aus Berlin
    ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
    ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
    1. Moin,

      Gruss

      Gibt es in PHP die einfache Möglichkeit, z.B. die letzten 10 Zeilen einer Textdatei auszulesen, ohne den Anfang und damit ohne Langsamkeit?

      tail(1) ist dein Freund.

      Imho ist tail keine php funktion ;)
      was bedeuted das man nen unix/linux rechner als host braucht... nicht allzu gut.

      zum problem:
      ich stand vor einiger zeit vor dem selben probelm. ich hab die datei regelmässig, wenn sie denn zu gross wurde einfach mi einer anderen logdatei "gemerged" und immer nur die 30 aktuellsten einträge bellassen. Alternativ könntest du auch ne db anstatt einer textdatei nehmen.
      Wenn du definitiv auf nem linux system arbeitest benutz tail (tail -15 file)

      Hf & Gl
      entropie

  2. hi,

    Ich habe eine Textdatei, der in unregelmässigen Abständen Zeilen hinzugefügt werden.

    warum setzt du nicht an dieser stelle an, und fügst beim eintragen neuer zeilen diese direkt am anfang der datei an?

    gruss,
    wahsaga

    1. Hallo wahsaga,

      hi,

      Ich habe eine Textdatei, der in unregelmässigen Abständen Zeilen hinzugefügt werden.

      warum setzt du nicht an dieser stelle an, und fügst beim eintragen neuer zeilen diese direkt am anfang der datei an?

      Deine Idee ist leider nicht so praktisch wie sie sich liest :-(
      Siehe auch folgenden Thread im Archiv http://forum.de.selfhtml.org/archiv/2004/2/73843/#m425417

      Freundliche Grüsse,

      Vinzenz