letzte Zeile ausgeben
john18
- php
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?
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
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
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
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