Ich möchte die letzten zwei Zeilen aus einer Datei auslesen und anzeigen, leider ist das trotz vieler Beispiele im Netz nicht von Erfolg gekrönt.
In der Datei stehen die Einträge so:
Mein PHP-Code sah zunächst so aus:
PHP
<?php
$filename = 'an_aus.txt';
if (file_exists($filename))
{
$inhalt = file_get_contents($filename);
if (empty($inhalt))
{echo '<div style="color:#FF0000">'; echo "<br />\nDatei existiert, aber ist leer<br /></div>\n";}
else
{echo '<div style="color:#4CFF00">'; echo "<br />\n$inhalt <br />\n <br /></div>\n";}
}
?>
Alles anzeigen
Das sah zum einen nicht schön aus, da die Zeilenumbrüche verloren gingen, ausserdem wird die Seite vollgemüllt, je mehr Einträge dazukommen.
Also habe ich den Code wie hier beschrieben erweitert, damit mir nur die letzten Zeilen angezeigt werden:
PHP
<?php
$filename = 'an_aus.txt';
if (file_exists($filename))
{
$inhalt = file_get_contents($filename);
if (empty($inhalt))
{echo '<div style="color:#FF0000">'; echo "<br />\nDatei existiert, aber ist leer<br /></div>\n";}
else
{$letztezweizeilen = $inhalt[count($inhalt)-3];
echo '<div style="color:#4CFF00">'; echo "<br />\n$letztezweizeilen <br />\n <br /></div>\n";}
}
?>
Alles anzeigen
Das wirft mir jedoch eine Fehlermeldung:
Code
PHP Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable|array, string given in /var/www/html/index.php
EDIT:
Ich habe jetzt diesen Beispielcode probiert, das funktioniert, zeigt mir aber nur die letzte Zeile an, ich möchte aber die letzten beiden.
Was muss ich hier ändern ?