Heim >Backend-Entwicklung >PHP-Tutorial >Wie ersetze ich eine bestimmte Zeile in einer Textdatei mit PHP?

Wie ersetze ich eine bestimmte Zeile in einer Textdatei mit PHP?

Barbara Streisand
Barbara StreisandOriginal
2024-11-12 06:10:02602Durchsuche

How to Replace a Specific Line in a Text File Using PHP?

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!

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