我知道有很多类似的帖子,但是在抓取之后,仍然没有找到答案。
我正在寻找一个脚本来充当下载大型远程图像(每个大约 10mb)的代理。到目前为止,我正在使用 curl 读取远程图像 url,然后使用 headers 来强制下载。像(不是完整的脚本):
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;
这行得通,但是有没有更好的方法,因为这个脚本可能会看到相当多的流量 - 可能是 300 个并发用户,每个用户有 10 个请求?
图像将从同一网络上的服务器提供。