PHP で大規模ファイルを確実にダウンロードするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-10 04:39:03
オリジナル
453 人が閲覧しました

How to Ensure Reliable Large-Scale File Downloads in PHP?

PHP の信頼性による大規模ダウンロードの提供

PHP スクリプトを介して受信者に大規模なファイルを送信する場合、転送の整合性が懸念されることがあります。これに対処するために、PHP は http_send_file や http_send_data などのメソッドを提供していますが、特定のシナリオにおけるそれらの有効性は依然として不確かです。

優れたソリューション: ファイルのチャンク化

最も効率的で、 PHP での直接的なアプローチには、ファイルをチャンク化することが含まれます。このプロセスでは、ファイルが小さなセグメントに分割され、一貫性と信頼性の高いダウンロード プロセスが保証されます。次のコードは、この方法の例です。

$chunksize = 5 * (1024 * 1024); //5 MB per chunk

$handle = fopen($filename, 'rb'); 

while (!feof($handle))
{ 
  print(@fread($handle, $chunksize));

  ob_flush();
  flush();
} 

fclose($handle); 
ログイン後にコピー

ファイルをセグメント化することで、PHP はメモリの過負荷を回避し、2GB を超える大きなファイルでもよりスムーズな転送を可能にします。ただし、ダウンロード中のファイルの破損を防ぐために、ファイルが UTF-8 でエンコードされていることを確認することが重要です。

以上がPHP で大規模ファイルを確実にダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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