Heim > Artikel > Backend-Entwicklung > So löschen Sie die letzte Zeile einer Datei in PHP
So löschen Sie die letzte Zeile einer Datei in PHP: Verwenden Sie zuerst die Funktion fopen(), um eine Datei zu öffnen, und verwenden Sie dann die Funktion fgets(), um eine Zeile Inhalt aus der geöffneten Datei zu lesen und sie in einem Array zu speichern; schließlich verwenden array_pop() Die Funktion löscht das letzte Element im Array.
Verwandte Funktionen:
(Empfohlenes Tutorial: php-Grafik-Tutorial)
Die Funktion fopen() öffnet eine Datei oder URL.
Wenn fopen() fehlschlägt, wird FALSE mit einer Fehlermeldung zurückgegeben. Sie können die Fehlerausgabe ausblenden, indem Sie vor dem Funktionsnamen ein „@“ hinzufügen. Die Funktion
fgets() gibt eine Zeile aus einer geöffneten Datei zurück. Die Funktion
fgets() stoppt die Rückgabe einer neuen Zeile, wenn sie die angegebene Länge (Länge - 1) erreicht, auf ein Zeilenumbruchzeichen trifft oder das Ende der Datei (EOF) erreicht (je nachdem, was zuerst eintritt). Bei einem Fehler gibt die Funktion FALSE zurück. Die Funktion
array_pop() löscht das letzte Element im Array. Gibt den letzten Wert des Arrays zurück. Wenn das Array leer ist oder kein Array ist, wird NULL zurückgegeben.
(Lernvideo-Empfehlung: php-Video-Tutorial)
Code-Implementierung:
/** * 删除文件最后一行 * @param $file_path 文件路径 */ public function delLastLine($file_path) { $file = $fp = fopen($file_path, 'r') or die("Unable to open file!"); while(!feof($file)) { $fp = fgets($file); if($fp) { $content[] = $fp; } } array_pop($content); fclose($file); //重新写入文件 $file = fopen($file_path, 'w+'); fwrite($file, implode("", $content)); fclose($file); }
Erklärung:
Nachdem meine Datei ausgelesen wurde, speichert die letzte Zeile des Arrays „false“, also geht if($fp) an die Array hineingeschrieben. Wenn die Datei Leerzeilen enthält, entfernen Sie bitte dieses Urteil und löschen Sie die letzte Zeile des Arrays zweimal. Diese Methode funktioniert nicht, wenn die Datei zu groß ist, um in den Speicher zu passen.
Das obige ist der detaillierte Inhalt vonSo löschen Sie die letzte Zeile einer Datei in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!