ホームページ >バックエンド開発 >PHPチュートリアル >PHP で大きなテキスト ファイルの行数を効率的にカウントするにはどうすればよいですか?

PHP で大きなテキスト ファイルの行数を効率的にカウントするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-04 19:33:02272ブラウズ

How to Count Lines in Large Text Files Efficiently in PHP?

大きなファイルのテキスト ファイル行を効率的にカウントする

問題:

PHP スクリプトでカウントしようとするとメモリの問題が発生する可能性がある大きなテキスト ファイル (2MB) の行。 file() と count() を使用する一般的なアプローチは、致命的なメモリ エラーを引き起こす可能性があります。

解決策:

メモリの枯渇を回避するには、より効率的なアプローチの採用を検討してください。

<code class="php">$file = "largefile.txt";
$linecount = 0;
$handle = fopen($file, "r");

while (!feof($handle)) {
  $line = fgets($handle);
  $linecount++;
}

fclose($handle);

echo $linecount;</code>

このアプローチでは、fgets() を使用して一度に 1 行を読み取るため、メモリ使用量が削減されます。

非常に長い行の場合、substr_count() を使用したバリエーションを使用して行末文字をカウントできます。

<code class="php">$handle = fopen($file, "r");

while (!feof($handle)) {
  $line = fgets($handle, 4096);
  $linecount = $linecount + substr_count($line, PHP_EOL);
}

fclose($handle);

echo $linecount;</code>

これらの手法を実装することで、PHP スクリプトは効率的に行をカウントできます。メモリを節約しながら大きなテキスト ファイルを保存できます。

以上がPHP で大きなテキスト ファイルの行数を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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