問題:
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 サイトの他の関連記事を参照してください。