この記事の例では、ブレークポイントの再開ダウンロードをサポートする PHP によって実装されたファイル ダウンロード クラスとその使用法について説明します。これは非常に実用的なテクニックです。参考のためにみんなで共有してください。具体的な方法は以下の通りです
一般的に言えば、PHP はブレークポイントの再開をサポートしており、主に HTTP プロトコルのヘッダー HTTP_RANGE に依存します。
HTTP ブレークポイント再開原則:
HTTPヘッダーRange、Content-Range()
Range および Content-Range エンティティ ヘッダーは、通常、ブレークポイントをダウンロードする場合にのみ HTTP ヘッダーで使用されます。
Range ユーザーリクエストヘッダーで、(範囲: 200-300) のように最初のバイトの位置と最後のバイトの位置を指定します
Content-Range は応答ヘッダーに使用されます
ファイル全体のダウンロードをリクエスト:
/test.rar HTTP/1.1 を取得します
接続: 閉じます
ホスト: 116.1.219.219
範囲: bytes=0-801 //ファイル全体をダウンロードする一般的なリクエストは bytes=0- またはこのヘッダーを使用しないでください
通常の応答:
HTTP/1.1 200 OK
コンテンツの長さ: 801
コンテンツタイプ: application/octet-stream
Content-Range: バイト 0-800/801 //801: 合計ファイルサイズ
リーリー
リーリー
Linux wget コマンドを使用してダウンロードをテストします。wget -c -O file http://xxx
1. まずブレークポイントの再開をオフにします
リーリー
2. ブレークポイント再開を有効にする
リーリー
この記事の例の完全なソース コードは、ここをクリックしてこの Web サイトからダウンロードできます。
この記事で説明されている内容は、皆様の PHP プログラム設計にとって一定の参考になると思います。