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

王林
王林Original
2020-08-04 14:21:273498Durchsuche

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.

So löschen Sie die letzte Zeile einer Datei in PHP

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn