場合によっては、ファイルのダウンロードの進行状況バー機能を実装するなど、何らかの目的でファイルのダウンロード速度を遅くする必要がある場合があります。ダウンロード速度を制限する最大の利点は、帯域幅を節約し、過度の瞬間的なトラフィックによって引き起こされるネットワークの混雑を回避することです。
分析: 上記の例では、ファイルのダウンロード速度を 20.5kb/s に制限しています。つまり、ファイル全体が送信されるまで、1 秒あたり 20.5kb のファイル ストリームのみがクライアントに送信されます。このような制限がない場合、ファイルはストリーム形式でまとめてクライアントに送信されます。ファイル サイズが 2m の場合、2m のデータ ストリームが送信されることになります。このダウンロード方法は実際のアプリケーションでは使用できません。
技術的には、まずヘッダーファイルを追加し、リクエストがストリームとして送信されることを示すContent-Typeをapplication/octet-streamとして宣言し、ファイルストリームのサイズを宣言するContent-Lengthを宣言します。コード内ではFlush()を使用しています。flush関数はphpプログラムのバッファを更新し、動的出力を実現します。
上記のコードをうまく利用すると、ファイルのダウンロードの進行状況バーを表示するクライアントの機能を実現できます。興味がある方は試してみるとよいでしょう。
注: よりエキサイティングなチュートリアルについては、Bangkejiatutorial チャンネル、
に注目してください。