O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required