これに似た投稿がたくさんあることは知っていますが、SOをクロールした後でも、答えは見つかりませんでした。
大きなリモートイメージ(それぞれ約10MB)をダウンロードするためのプロキシとして機能するスクリプトを作成しようとしています。これまでのところ、curlを使用してリモートイメージのURLを読み取り、ヘッダーを使用して強制的にダウンロードしています。次のようなもの(完全なスクリプトではありません):
function getRemoteFile($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 50);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
header('Content-Type: octet/stream');
header('Content-Disposition: attachment; filename="random.jpg"');
header('Content-Length: ' . strlen($file));
echo $file;
これは機能しますが、このスクリプトではかなりの量のトラフィックが発生する可能性があるため、より良い方法はありますか?おそらく、それぞれ10個のリクエストを持つ300人の同時ユーザーですか?
画像は同じネットワーク上のサーバーから提供されます。