21.15 Die letzte Zeile einer Datei entfernen

Problem

Sie wollen die letzte Zeile einer Datei entfernen. Beispielsweise hat jemand einen Kommentar an das Ende Ihres Gästebuchs geschrieben. Sie mögen den Kommentar nicht und wollen ihn loswerden.

Lösung

Wenn die Datei klein ist, können Sie sie mit file() in ein Array einlesen und dann das letzte Element des Arrays entfernen:

$lines = file('employees.txt');
array_pop($lines);
$file = join('',$lines);

Diskussion

Wenn die Datei groß ist, verbraucht das Einlesen in ein Array zu viel Speicherkapazität. Stattdessen können Sie den folgenden Code verwenden. Er sucht nach dem Ende der Datei, arbeitet von hinten nach vorn und hält an, wenn er einen Zeilenvorschub findet:

$fh = fopen('employees.txt','r') or die("Öffnen ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.