获取远程图片的宽、高和大小
php中获取远程图片的宽、高和大小,这里介绍两种方法:
方法一:
function getImageinfo($url)
{
$result = array(
"width"=>"",
"height"=>"",
"size"=>"",
);
$imageInfo = getimagesize($url);
$result["width"]=$imageInfo[0];
$result["height"]=$imageInfo[1];
$headerInfo = get_headers($url,true);
$result["size"]=$headerInfo["Content-Length"];
return $result;
}
$url = "https://qncdn.wanshifu.com/237f4f2eebd1aea845e014a1634cad36?imageView2/0/interlace/1/ignore-error/1";
$res = getImageinfo($url);
print_r($res);
方法二:
function getImageinfo($url)
{
$imageInfo = getimagesize($url);
if($imageInfo){
$result["width"] = $imageInfo[0];
$result["height"] = $imageInfo[1];
}
// 若需要获取图片体积大小则默认使用 fread 方式或者使用 socket 二进制方式读取, 需要获取图片体积大小最好使用此方法
$handle = fopen($url, "rb");
if ($handle) {
//是否获取图片体积大小
$meta = stream_get_meta_data($handle);// 获取文件数据流信息
// nginx 的信息保存在 headers 里,apache 则直接在 wrapper_data
$dataInfo = isset($meta["wrapper_data"]["headers"]) ? $meta["wrapper_data"]["headers"] : $meta["wrapper_data"];
foreach ($dataInfo as $va) {
if (preg_match("/length/iU", $va)) {
$ts = explode(":", $va);
$result["size"] = trim(array_pop($ts));
break;
}
}
//关闭文件流
fclose($handle);
}
return $result;
}
$url = "https://qncdn.wanshifu.com/237f4f2eebd1aea845e014a1634cad36?imageView2/0/interlace/1/ignore-error/1";
$res = getImageinfo($url);
print_r($res);
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。