PHP を使用してテキスト ファイル内の特定の行を置換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-12 06:10:02
オリジナル
570 人が閲覧しました

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

PHP を使用してテキスト ファイル内の特定の行を置換する

テキスト ファイルを編集し、特定の内容を含む特定の行をゼロインする必要がある言葉? PHP の世界に飛び込み、その行を簡単に置き換える 2 つの手法を検討してみましょう。

方法 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');
}
ログイン後にコピー

これで完了です。どの方法を選択するかは、ファイルのサイズとメモリの制約によって異なります。大きなファイルの場合は 2 番目の方法が強力ですが、小さなファイルの場合は 1 番目の方法が優れていることに注意してください。

以上がPHP を使用してテキスト ファイル内の特定の行を置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート