Bestimmte Zeile aus einer Txt-Datei löschen?
Hi,
ich habe momentan ein Problem mit PHP. Ich möchte eine bestimmte Zeile aus einer Textdatei löschen, geht das irgendwie?
Also zum Beispiel: Ich habe eine Variable, die $zeile heißt (und zum Beispiel einen Wert von 5 hat) und eine Text Datei mit dem Namen "text.txt". Die Datei hat 10 Zeilen mit Text und ich möchte die $zeile löschen, also die fünfte. Die Textdatei sollte danach 9 Zeilen haben, also die fünfte sollte weg sein und alle darauffolgenden nach oben rutschen (6te wird also 5te, 7te wird 6te, usw.).
Ich bedanke mich für Eure Hilfe,
Till Heiner
2 Antworten
$zeile = 5;
$datei = "text.txt";
$zeilen = explode("\n", file_get_contents($datei));
array_splice($zeilen, $zeile - 1, 1);
file_put_contents($datei, join("\n", $zeilen));
Habs nicht getestet, aber das müsste funktionieren.
Ganz einfach die gesamte datei in eine array lesen und die betreffende zeile aus dem array löschen, das schiebt quasi die nachfolgenden zeilen nach oben. Danach einfach wieder zurückschreiben.
Wenn du es nicht selber kannst lese scih noch mal in den themen datei open und arrays ein.