zblog
当前位置:首页 > 商学院 > zblog > 正文内容

zblog

获取图片的高、宽和大小

豫唐网络2022-11-27 09:201512

        图片下载站经常会用到的,自动获取图片的高、宽和大小,

1、添加函数

function tc_imgssize_getImageSize($url, $type = 'curl', $isGetFilesize = false)
{
    $type = $isGetFilesize ? 'fread' : $type;
    if ($type == 'fread') {
        $handle = fopen($url, 'rb');
        if (! $handle) return false;
        $dataBlock = fread($handle, 168);
    }else{
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
        curl_setopt($ch, CURLOPT_RANGE, '0-167');
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $dataBlock = curl_exec($ch);
        curl_close($ch);
        if (! $dataBlock) return false;
    }
    $size = getimagesize('data://image/jpeg;base64,'. base64_encode($dataBlock));
    if (empty($size)) {
        // $size = (getimagesize('compress.zlib://'.$url));
        // if (empty($size)) {
        //     return false;
        // }
        return false;
    }
    $result['width'] = $size[0];
    $result['height'] = $size[1];
    if ($isGetFilesize) {
        $meta = stream_get_meta_data($handle);
        $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;
            }
        }
    }
    if ($type == 'fread') fclose($handle);
    return $result;
}

2、调用函数

$imageInfo=tc_imgssize_getImageSize($imgurl, 'fread', true);

3、输入图片的高、宽和大小

$width=$imageInfo['width'];
$height=$imageInfo['height'];
$size=$imageInfo['size'];

高、宽的单位是px,大小的单位是kb。

扫描二维码推送至手机访问。

版权声明:本文由汤阴县豫唐网络科技有限公司发布,如需转载请注明出处。

本文链接:https://www.ytecn.com/post/430.html

分享给朋友:

相关文章

zblogphp文章页面编辑2号输出接口说明

zblogphp文章页面编辑2号输出接口说明

接口名称:Filter_Plugin_Edit_Response2接口描述:文章编辑页面1号输出接口,具体位置位于摘要内容设置下。应用场景:可在文章(页面)编辑页增加自定义参数,如自定义表单字段等。调...

zblogphp打开调试模式的方法zblogphp程序报错怎么办

zblogphp打开调试模式的方法zblogphp程序报错怎么办

        因为出问题了,所以要开调试定位和解决,而不是因为开了调试,所以出问题了。未开调试模式的报错界面  &nb...

zblog提示授权文件非法怎么办

zblog提示授权文件非法怎么办

        zblog在开启主题或者插件的时候,有时候会提示授权文件非法。这种需要怎么处理么?  ...

zblog插件怎么安装

zblog插件怎么安装

        zblog的插件分为应用中心插件和自定义插件两大类。应用中心插件又分为免费插件和付费插件。自定义插件分为...

zblog分类页展示子分类内容

zblog分类页展示子分类内容

zblog默认情况下,当某个分类有子分类的时候,访问大分类页面的时候是不显示下面分类的文章内容。如需实现分类页展示子分类内容,需要在后台进行配置,配置方法如下:1、进入网站后台;2、点击右上的《网站设...

通过接口给后台导航栏添加菜单

通过接口给后台导航栏添加菜单

zblog支持2处菜单的添加,分别是后台顶部和后台左侧。1、给后台顶部导航栏添加菜单function ActivePlugin_tc_cs() {   &nb...