你现在的位置:首页 > PHP网站建设知识库 > phpcms > 正文

phpcms v9动态读取图片高度的扩展函数

这是一个利用php自带getimagesize函数扩展的图片高宽度函数,知道原始地址,并且你已经知道前端展示时该图片宽度或高度,那么利用这个函数就能读取图片的另一个尺寸值,然后写入到让img标签中有等比缩放的高宽度值,这样利于SEO和页面布局。
这个嘛,在瀑布流布局的页面中,要兼容IE6、IE7就容易了。
代码和使用方法:

1 将下面的代码添加到 phpcms\libs\functions\extention.func.php,phpcms全局的扩展函数中

//获取图片的高度
 function getheight($image, $real_width) {
 $size = getimagesize($image);
 $h_temp = $size[1];
 $w_temp = $size[0];
 if($real_width){
        $height = floor(($h_temp / $w_temp) * $real_width);
        } else {
                $height = $h_temp;
        }
 return $height;
}
//获取图片的宽度
function getwidth($image, $real_height) {
 $size = getimagesize($image);
 $h_temp = $size[1];
 $w_temp = $size[0];
 if($real_height){
        $width = floor(($w_temp / $h_temp) * $real_height);
        } else {
                $width = $w_temp;
        }
 return $width;
}

2  使用方法:
比如V9首页或列表输出一个200宽度而高度不确定的图片,标签为{thumb($r[thumb],200,0)}
那么高度则为:
{getheight(thumb($r[thumb],200,0),200)}
知道高度(假设高为300),计算宽度则为{getwidth($r[thumb],300)}

当然,也可以直接输出原始大小:

 

原始宽度={getwidth($r[thumb])}
原始高度={getheight($r[thumb])}