• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCms系统自动获取缩略图的高度和宽度详细教程
    POST TIME:2017-11-13 01:17

    瀑布流模式的网站的代码一般要求图片必须带有高度,而织梦默认的缩略图仅仅是储存的图片路径,想要输出图片的高度就必须用别的办法,目前我只想到用 getimagesize这个函数了,这也是相对比较简单的实现方案了,当然,这种办法极费资源。性能极大变慢

    第一种方法

    include\helpers\extend.helper.php最后添加

    if ( ! function_exists('getheight'))
    {
    function getheight($litpic){
    $litpicc = $GLOBALS['cfg_basehost'].$litpic;
    $arr = getimagesize($litpicc);
    $resault = $arr[1]; // 此为高度
    //$resault = $arr[0]; //此为宽度
    return $resault;
    }
    }

    模板中直接用[field:litpic function="getheight(@me)"/] 就能输出图片高度

    例<img arl='[field:title/]' src="[field:litpic/]" height=" [field:litpic function="getheight(@me)"/]">

    第二种方法(大力推荐,这样通过数据库调用就大大节省了系统资源)

    PS:这个方法整整弄了二天都没搞定,后来还是花钱才弄好的,现在公布给大家。

    1 ,在/dede/article_add.php 插入数据库前添加以下代码:

    //获取缩略图宽高
    if(empty($litpic))
    {
    $imgwidth = $imgheight = '';
    }
    else {
    $srcFile = $cfg_basedir.$litpic;
    $info = "";
    $data = GetImageSize($srcFile, $info);

    $imgwidth=$data[0];
    $imgheight=$data[1];
    }

    '$imgwidth','$imgheight',将这二个值也保存在主表当中。

    2,在/include/taglib/arclist.lib.php 514行左右 找到$row['fulltitle'] = $row['title']; 并在上面加入:
    $row['imgwidth'] = $row['imgwidth'];
    $row['imgheight'] = $row['imgheight'];

    并将imgwidth imgheight 值插入数据库中即可 ,然后在发一篇文章看看 是不是调用出来了,当然这个方法也有一个弊端,就是之前发布过的文章同样无法获取高和宽,这时候在用批处理刷新下数据库即可。如果你文章没多少数据这一步即可省了。演示http://www.mmnvhai.com/meinv/
    
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!