ホームページ >バックエンド開発 >PHPチュートリアル >PHP でファイルから特定の行を効率的に削除するにはどうすればよいですか?

PHP でファイルから特定の行を効率的に削除するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-06 19:59:161100ブラウズ

How to Efficiently Delete a Specific Line from a File in PHP?

PHP を使用してファイルから行を削除する

テキスト ファイルから特定の行を削除するのは、PHP 開発における一般的なタスクです。 $dir という名前のファイルと、ファイル内の完全な行を表す $line 変数があるとします。ただし、その行番号はわかりません。この行を削除するには、次の手順を実行します。

1.ファイルの内容を読み取ります:

$contents = file_get_contents($dir);

2.文字列操作を実行して行を削除します:

str_replace は、$line の出現箇所を空の文字列に置き換えることができます:

$contents = str_replace($line, '', $contents);

3。変更された内容でファイルを更新します:

file_put_contents($dir, $contents);

このコードは $line を空の文字列に置き換え、事実上ファイルから行を削除します。 file_put_contents は既存のファイルの内容を上書きすることに注意してください。そのため、必要なバックアップが用意されていることを確認してください。

awk メソッド:

上記のメソッドはシンプルで簡単です。 、awk を使用して削除することもできます。 line:

awk -F'\r' '!/^$line$/' $dir > /tmp/file.txt
  • -F'r': 行末を復帰 (r) として指定します。
  • !/^$line$/: grep ロジックを反転してすべてを出力します
  • /tmp/file.txt: 出力を一時ファイルに書き込みます。 file.

更新されたファイルを取得したら、元のファイルを一時的なファイルに置き換えることができます。

mv /tmp/file.txt $dir

この方法は、行番号が異なる大きなファイルを扱う場合に特に便利です。は不明です。

以上がPHP でファイルから特定の行を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。