php-Methode zum Löschen der letzten Zeile einer Datei: Verwenden Sie zuerst die Funktion fopen(), um eine Datei zu öffnen. Verwenden Sie dann die Funktion fgets(), um die Datei Zeile für Zeile zu lesen und den gelesenen Inhalt in eine Datei einzufügen array; endlich array_pops() verwenden Die Funktion löscht das letzte Element im Array.
array_pop()-Funktion 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.
(Empfohlenes Tutorial: php-Grafik-Tutorial )
Syntax:
array_pop(array)
fgets() Die Funktion gibt eine Zeile aus der 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.
Grammatik:
fgets(file,length)
(Video-Tutorial-Empfehlung: php-Video-Tutorial )
Code-Implementierung (nur als Referenz):
/** * 删除文件最后一行 * @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); }
Analyse:
Nachdem meine Datei gelesen wurde, speichert die letzte Zeile des Arrays „false“, also wird if($fp) in das Array geschrieben. 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!