首頁 >後端開發 >php教程 >如何使用 PHP 替換文字檔案中的特定行?

如何使用 PHP 替換文字檔案中的特定行?

Barbara Streisand
Barbara Streisand原創
2024-11-12 06:10:02603瀏覽

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

使用 PHP 替換文字檔案中的特定行

需要編輯文字檔案並將包含特定行的特定行歸零單字?讓我們深入了解 PHP 的世界,探索兩種輕鬆替換該行的技術。

方法1:記憶體中的行替換

對於較小的文件,可以為了輕鬆地保存在記憶體中,您可以使用以下方法:

$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);

方法2:減少記憶體密集行替換

對於較大的文件,請嘗試這種更節省記憶體的方法:

$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');
}

就是這樣!方法的選擇取決於檔案的大小和記憶體限制。請記住,對於大文件,第二種方法是您的盟友,而第一種方法更適合較小的文件。

以上是如何使用 PHP 替換文字檔案中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn