ホームページ >バックエンド開発 >PHPチュートリアル >アップロードとダウンロードの問題について助けてください

アップロードとダウンロードの問題について助けてください

WBOY
WBOYオリジナル
2016-06-23 14:10:49924ブラウズ

PHPのアップロードとダウンロードについて。
100M のファイルを LAN 上にアップロードし、それをパスに移動すると、合計時間はほぼ 12 秒になります (PC マシンがサーバーとして使用されます)。これは、基本的に 1 秒あたり 8M 以上に達する可能性があることを意味します。ネットワーク送信に費やされますが、同じファイルをダウンロードする場合(シングルスレッド)、1 秒あたり 3M にしか達しません。Thunder のようなファイルを使用してダウンロードしても、それでも 5M に達する可能性があります。何が原因なのか教えてください。 ?
または、php でのアップロードとダウンロードの違いを紹介します。
ありがとうございます


ディスカッション(解決策)への返信

それで、どうやってダウンロードしますか? phpプログラム経由ですか?

は php を通じてダウンロードされます。 Thunder 経由でダウンロードする場合、速度はそれほど変わりません。
また、私は https を使用します

アップロードするときは、PHP を介さずにデータ ストリームが送信されます。PHP はファイルを移動する動作を完了するだけなので、非常に高速です。

ダウンロードするときは、PHP を使用してファイルを読み取って出力します。 PHP が介在するため、ブロックごとに速度が低下します
ブラウザは専門的なダウンロード ツールではないため、当然 Thunder よりも遅くなります

さらに、アップロードは依然としてマルチチャネル送信である可能性がありますが、ダウンロードは単一チャンネルである必要があります。したがって、速度は異なるはずです

xuzuning 説明ありがとうございます。

でも、それでもすごいと思います
たとえば、ダウンロードするとき、php を介してファイルを読み取るのではなく、ファイルをブラウザーまたは Thunder でアクセスできる場所に直接置きます。速度は依然として非常に遅いです。

これは、私が述べた「その他」です。マルチチャネル ダウンロード (再開可能なダウンロード) をサポートしているのは、プロフェッショナル サーバーのみです。もちろん、206 レスポンスは PHP コードを使用して実現することもできます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。