ホームページ  >  記事  >  バックエンド開発  >  ブレークポイント再開転送をサポートする PHP で実装されたファイル ダウンロード クラス、_PHP チュートリアル

ブレークポイント再開転送をサポートする PHP で実装されたファイル ダウンロード クラス、_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:18:321047ブラウズ

ブレークポイント再開をサポートする PHP によって実装されたファイル ダウンロード クラス、

この記事の例では、ブレークポイントの再開ダウンロードをサポートする 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: 合計ファイルサイズ

FileDownload.class.php クラス ファイルのコードは次のとおりです:

リーリー
デモのサンプルコードは次のとおりです:

リーリー
再開可能なダウンロードテスト方法:

Linux wget コマンドを使用してダウンロードをテストします。wget -c -O file http://xxx

1. まずブレークポイントの再開をオフにします

リーリー
リーリー
wget -c ではブレークポイントからアップロードを再開できないことがわかります

2. ブレークポイント再開を有効にする

リーリー
リーリー
ブレークポイントの位置 (%20) からダウンロードが開始されることがわかります。

この記事の例の完全なソース コードは、ここをクリックしてこの Web サイトからダウンロードできます。

この記事で説明されている内容は、皆様の PHP プログラム設計にとって一定の参考になると思います。

http://www.bkjia.com/PHPjc/882897.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/882897.html技術記事この記事では、ブレークポイント再開転送をサポートする PHP で実装されたファイル ダウンロード クラスとその使用法について説明します。これは非常に実用的なテクニックです。みんなとシェアしましょう...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。