ホームページ > バックエンド開発 > PHPチュートリアル > メモリの問題を発生させずに大きなファイルを URL からサーバーにダウンロードするにはどうすればよいですか?

メモリの問題を発生させずに大きなファイルを URL からサーバーにダウンロードするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-29 06:06:11
オリジナル
916 人が閲覧しました

How to Download Large Files from a URL to a Server Without Memory Issues?

メモリの問題を発生させずに URL からサーバーにファイルをダウンロードする

URL からサーバーにファイルをダウンロードするのは一般的なタスクですが、問題が発生する可能性があります。メモリの制限により、大きなファイルを扱うときに問題が発生します。この質問では、この問題の解決策を検討します。

問題:

file_get_contents() の後に file_put_contents() を続けるなど、ファイルをダウンロードするための従来の方法では、メモリの問題が発生する可能性があります。大きなファイルを処理する場合、ダウンロードが発生する失敗します。

解決策:

メモリの問題を回避するために、PHP は、file_put_contents() のデータ パラメーターとしてストリーム リソースを使用する代替アプローチを提供します。この方法では、ダウンロード中にファイルをディスクに直接書き込むことができ、メモリの枯渇を防ぐことができます。

コード:

file_put_contents("Tmpfile.zip", fopen("http://someurl/file.zip", 'r'));
ログイン後にコピー

説明:

file_put_contents()にストリームリソースを渡すことで、PHPのストリームコピー機構を利用して転送します。データをソース URL からターゲット ファイルに直接転送します。これにより、ファイル全体をメモリにロードする必要がなくなり、メモリ枯渇の問題が解決されます。

以上がメモリの問題を発生させずに大きなファイルを URL からサーバーにダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート