ホームページ >バックエンド開発 >PHPチュートリアル >メモリの枯渇を避けるために大きなファイルを 1 行ずつ読み取るにはどうすればよいですか?

メモリの枯渇を避けるために大きなファイルを 1 行ずつ読み取るにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-03 12:21:09908ブラウズ

How Can I Read Large Files Line by Line to Avoid Memory Exhaustion?

メモリを使い果たさずに大きなファイルを 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 サイトの他の関連記事を参照してください。

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