/*
直接下载
*/
public function down_img($img_id, $img_w=600, $img_h=600){
$img_info = db('image')->where('img_id',$img_id)->find();
$img_path = $img_info['path'];
$url = path_url($img_path, $img_w, $img_h);
$data = file_get_contents($url); //获取OSS URL 图片
//获取图片文件名
$pos = strrpos($img_path, "/");//返回/在图片path出现的最后一个位置
$img_name = substr($img_path, $pos+1); //字符串截取。返回图片名
//输出页面下载头部
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Content-Length: ".strlen($data));
header("Content-Disposition: attachment; filename=" . $img_name);
echo $data;
}
/*
先下载到本地在输出下载
*/
public function down_img($img_id, $img_w=600, $img_h=600){
$img_info = db('image')->where('img_id',$img_id)->find();
$img_path = $img_info['path'];
$url = path_url($img_path, $img_w, $img_h);
$img = file_get_contents($url); //获取OSS URL 图片
$pos = strrpos($img_path, "/");//返回/在图片path出现的最后一个位置
//echo $pos;
$img_name = substr($img_path, $pos+1); //字符串截取。返回图片全名
//echo $img_name;
file_put_contents(ROOT_PATH."/upload/down/".$img_name,$img); //写入文件
//输出下载文件,输出强制页面为下载
$file = ROOT_PATH."/upload/down/".$img_name;
header("Content-type: application/octet-stream");
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header("Content-Length: ". filesize($file));
readfile($file);
}
OSS图片直接下载
最新推荐文章于 2025-06-20 09:08:42 发布