Letzte Zeilen aus Datei auslesen ohne Leerzeilen

son gohan

Erfahrenes Mitglied
Hi, ich hab ein Script mit dem man die letzten Zeilen einer .txt Datei auslesen kann und in ein Array speichert. Leider werden aber auch leere Zeilen mit ins Array gespeichert und mir fällt nichts ein wie ich es verhindern kann das Leere Zeilen mit gespeichert werden.

Script:
PHP:
$i=0;
$lines=6; //einstellen wieviel Zeilen ich will
$last_lines=array();
$fp=fopen('suchworter.txt','r');
fseek($fp, 0, SEEK_END);//setzt Dateizeiger an Ende um die letzten Zeilen zu holen
$pos=ftell($fp);
//efizientes script holt nur die letzten Wörter aus Datei nich alles aufeinmal
while($i<=$lines-1&&!fseek($fp,$pos--))
 if(fgetc($fp)=="\n"||$pos==0)
        $last_lines[$i++]=trim(htmlentities(fgets($fp)));
fclose($fp);

So wie das Script da steht holt es die eingestellte Anzahl an Zeilen und speichert sie ins Array, ich habe auch versucht mit folgender Erweiterung zu vehindern das leere Zeilen ins Array gespeichert werden, aber es klapt nicht:

PHP:
$i=0;
while($i<=$lines-1&&!fseek($fp,$pos--))
 if(fgetc($fp)=="\n"||$pos==0 AND trim(htmlentities(fgets($fp))) != "") //erweiterte Abfrage
        $last_lines[$i++]=trim(htmlentities(fgets($fp)));
fclose($fp);

Hat jemand ein Tip parat wie mans hinbekommt?
 
Zurück