ホームページ >バックエンド開発 >PHPチュートリアル >メモリの枯渇を避けるために大きなファイルを 1 行ずつ読み取るにはどうすればよいですか?
メモリを使い果たさずに大きなファイルを 1 行ずつ読み取る
メモリ容量を超える巨大なファイルを扱う場合、ファイルの読み込みを避けることが重要になります。メモリ不足エラーが発生する可能性があるため、完全にメモリに書き込まれます。このようなファイルを効率的に処理する効果的なアプローチの 1 つは、ファイルを 1 行ずつ読み取ることです。
これを実現するには、fgets() 関数を利用できます。この関数は、ファイル ストリームから 1 行を取得し、それを文字列として返します。 fgets() を繰り返し呼び出すループを使用することで、ファイル全体を反復処理し、各行を個別に処理できます。
$handle = fopen("inputfile.txt", "r"); if ($handle) { while (($line = fgets($handle)) !== false) { // Perform necessary actions on the retrieved line. } fclose($handle); }
このコード スニペットでは、「inputfile.txt」を開こうとしています。ファイルは読み取り専用モードです。ファイルを正常に開くことができた場合は、ファイルを 1 行ずつ読み取るループが開始されます。 line 変数には、読み取られた各行の内容が格納されます。このループは、読み取る行がなくなるまで続き、ファイルの終わりに達します。
以上がメモリの枯渇を避けるために大きなファイルを 1 行ずつ読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。