john18: letzte Zeile ausgeben

Hallo,
ich habe folgenden Script:
<?php
$fp = fopen('datei.txt', 'r');
if ($fp)
{
while (!feof($fp))
{
$zeile = fgets($fp, 1000);
$jahr = substr($zeile,0,2); echo $jahr;
}

fclose($fp);
}
?>.

Der Script liest eine Textdatei ein und gibt die ersten beiden Zeichen von jeder Zeile aus.
Ich möchte aber gern dass nur die ersten beiden Zeichen von der letzten Zeile der Textdatei ausgegeben werden.

Kann mit bitte jemand helfen?

  1. hallö,

    $jahr = substr($zeile,0,2); echo $jahr;

    $jahr = substr($zeile,-2); echo $jahr;
    funxt das auch bei dir? sollte in jedem php-manual stehen.

    grüße aus Leipzig
    willie

    --
    ss:| zu:} ls:# fo:| de:] va:} ch:? sh:( n4:( rl:° br:> js:| ie:% fl:( mo:}
    http://emmanuel.dammerer.at/selfcode.html
    1. Hello,

      unter Linux gibt es das das Kommando

      thomas@testserver:~$ tac --help
      Usage: tac [OPTION]... [FILE]...
      Write each FILE to standard output, last line first.
      With no FILE, or when FILE is -, read standard input.

      -b, --before             attach the separator before instead of after
        -r, --regex              interpret the separator as a regular expression
        -s, --separator=STRING   use STRING as the separator instead of newline
            --help               display this help and exit
            --version            output version information and exit

      Das ist nur "cat" rückwärts.

      Wenn Du das nun in Verbindung mit exec() http://de2.php.net/manual/en/function.exec.php einsetzen darfst, dann müsste es das Schnellste sein.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Hello,

        Kommando zurück...
        tac würde das ganze File ausgeben und da hättest Du nichts gewonnen.
        Dafür ist dann

        tail -n2 filename

        besser geeignet, um nur die beiden letzten Zeilen zu erhalten.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Hallo,

    $a=file('datei.txt');              http://de3.php.net/manual/de/function.file.php
    echo substr($a[(count($a)-1)],-2); http://de3.php.net/manual/de/function.count.php

    Gruß aus Berlin!
    eddi

    --
    at, wie er leibt und lebt auf ein Posting
    > > Nein, ich denke nicht.
    gepromptet
    > Das empfiehlt sich aber.
    :))))