入门 硬件知识 电脑基础 上网入门 故障 电脑修护 电脑健康 精通电脑 网站 DIV+CSS 建站知识 SEO知识
教程 电脑操作 平面设计 路由设置 技巧 Word Excel QQ技巧 壁纸 自然风景 酷车美女 系统桌面
系统 安装系统 系统技巧 系统设置 安全 木马查杀 黑客防御 安全资讯 美女 明星写真 清纯美女 性感美女

主页 > 网站建设 > Dedecms教程 > INTRODUCE

DedeCms系统自动获取缩略图的高度和宽度详细教程

发布时间:2013-06-14 作者:电脑知识网 来源:www.sogoupc.com 字号:

瀑布流模式的网站的代码一般要求图片必须带有高度,而织梦默认的缩略图仅仅是储存的图片路径,想要输出图片的高度就必须用别的办法,目前我只想到用 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/ 
 

文章: DedeCms系统自动获取缩略图的高度和宽度详细教程
地址:http://www.sogoupc.com/web/201306/7967.html
------分隔线----------------------------
------分隔线----------------------------
热门Dedecms教程文章推荐