原理:
请求第三方存储图片的服务器,获取到图片后,暂存图片在请求方服务器上,然后请求时即可获取下载图片到本地。
function downRemoteImage($url)
{
$fp = @fopen($url, 'rb');
if (is_resource($fp))
{
$re = get_headers($url, true);
$file_size = $re['Content-Length'];
//下载文件需要用到的头
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length:" . $file_size);
Header("Content-Disposition: p_w_upload; filename=" . basename($url));
header('Expires: 0');
header('Pragma: public');
$buffer = 1024;
$file_count = 0;
//向浏览器返回数据
while (!feof($fp) && $file_count < $file_size)
{
$file_count += $buffer;
print(fread($fp, $buffer));
flush();
ob_flush();
}
fclose($fp);
}
}
//调用
$url = '
downRemoteImage($url);
转载于:https://blog.51cto.com/11437420/1924485