主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > DedeCms系統(tǒng)自動(dòng)獲取縮略圖的高度和寬度詳細(xì)教程

DedeCms系統(tǒng)自動(dòng)獲取縮略圖的高度和寬度詳細(xì)教程

POST TIME:2021-05-25 00:45

瀑布流模式的網(wǎng)站的代碼一般要求圖片必須帶有高度,而織夢默認(rèn)的縮略圖僅僅是儲(chǔ)存的圖片路徑,想要輸出圖片的高度就必須用別的辦法,目前我只想到用 getimagesize這個(gè)函數(shù)了,這也是相對(duì)比較簡單的實(shí)現(xiàn)方案了,當(dāng)然,這種辦法極費(fèi)資源。性能極大變慢

第一種方法

includehelpersextend.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)"/]">

第二種方法(大力推薦,這樣通過數(shù)據(jù)庫調(diào)用就大大節(jié)省了系統(tǒng)資源)

PS:這個(gè)方法整整弄了二天都沒搞定,后來還是花錢才弄好的,現(xiàn)在公布給大家。

1 ,在/dede/article_add.php 插入數(shù)據(jù)庫前添加以下代碼:

//獲取縮略圖寬高
if(empty($litpic))
{
$imgwidth = $imgheight = '';
}
else {
$srcFile = $cfg_basedir.$litpic;
$info = "";
$data = GetImageSize($srcFile, $info);

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

'$imgwidth','$imgheight',將這二個(gè)值也保存在主表當(dāng)中。

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

并將imgwidth imgheight 值插入數(shù)據(jù)庫中即可 ,然后在發(fā)一篇文章看看 是不是調(diào)用出來了,當(dāng)然這個(gè)方法也有一個(gè)弊端,就是之前發(fā)布過的文章同樣無法獲取高和寬,這時(shí)候在用批處理刷新下數(shù)據(jù)庫即可。如果你文章沒多少數(shù)據(jù)這一步即可省了。演示http://www.mmnvhai.com/meinv/



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266