Ersetzen einer bestimmten Zeile in einer Textdatei mit PHP
Sie müssen eine Textdatei bearbeiten und sich auf eine bestimmte Zeile konzentrieren, die einen bestimmten Inhalt enthält Wort? Tauchen wir ein in die Welt von PHP und erkunden wir zwei Techniken, um diese Zeile ganz einfach zu ersetzen.
Methode 1: In-Memory Line Replacement
Für kleinere Dateien ist das möglich bequem im Gedächtnis behalten möchten, können Sie den folgenden Ansatz verwenden:
$data = file('myfile'); // Reads an array of lines function replace_a_line($data) { if (stristr($data, 'certain word')) { return "replacement line!\n"; } return $data; } $data = array_map('replace_a_line', $data); file_put_contents('myfile', $data);
Methode 2: Weniger speicherintensive Linie Ersetzen
Probieren Sie für größere Dateien diese speichersparendere Methode aus:
$reading = fopen('myfile', 'r'); $writing = fopen('myfile.tmp', 'w'); $replaced = false; while (!feof($reading)) { $line = fgets($reading); if (stristr($line,'certain word')) { $line = "replacement line!\n"; $replaced = true; } fputs($writing, $line); } fclose($reading); fclose($writing); // Don't overwrite if nothing replaced if ($replaced) { rename('myfile.tmp', 'myfile'); } else { unlink('myfile.tmp'); }
Da haben Sie es! Die Wahl des Ansatzes hängt von der Größe Ihrer Datei und Ihren Speicherbeschränkungen ab. Denken Sie daran, dass bei großen Dateien die zweite Methode Ihr Verbündeter ist, während sich die erste Methode bei kleineren Dateien auszeichnet.
Das obige ist der detaillierte Inhalt vonWie ersetze ich eine bestimmte Zeile in einer Textdatei mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!