国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > DedeCMS > DedeCMS V5.6缩略图不加水印的处理方法

DedeCMS V5.6缩略图不加水印的处理方法

来源:程序员人生   发布时间:2014-01-06 17:32:26 阅读次数:2575次

众所周知,DedeCMS后台“图片水印设置”里的“添加水印的图片大小控制”选项根本不起作用,导致缩略图也被加上水印,效果很难看,现在告诉你DedeCMS V5.6缩略图不加水印的方法技巧!

修改DedeCMS程序里的dede/inc/inc_archives_functi*****.php 文件 (dede为后台默认路径)
查找到:
//获取一个远程图片
function GetRemoteImage($url,$uid=0)

这个函数里面有一句:
@WaterImg($rndtrueName, 'down');
修改成:
//@WaterImg($rndtrueName, 'down');
再查找:
//获得文章body里的外部资源
function GetCurContent($body)
{
global $cfg_multi_site,$cfg_basehost,$cfg_basedir,$cfg_image_dir;

修改成:
//获得文章body里的外部资源
function GetCurContent($body)
{
global $cfg_multi_site,$cfg_basehost,$cfg_basedir,$cfg_image_dir,$autolitpic,$litpic;
$autolitpic = (empty($autolitpic) ? '' : $autolitpic);

然后在这同一个函数里面查找到:
$value = trim($value);
$rndFileName = $imgPath.'/'.$milliSecondN.'-'.$key.$itype;
$fileurl = $imgUrl.'/'.$milliSecondN.'-'.$key.$itype;
$rs = $htd->SaveToBin($rndFileName);

在其下面添加:
//自动获取缩略图
if($autolitpic==1 && $litpic=='')
{
$litpic = GetDDImgFromBody($body);
}

最后一步:
查找到:
//处理HTML文本
//删除非站外链接、自动摘要、自动获取缩略图
function AnalyseHtmlBody($body,&$description,&$litpic,&$keywords,$dtype='')
{
global $autolitpic,$remote,$dellink,$autokey,$cfg_basehost,$cfg_auot_description,$id,$title,$cfg_soft_lang;
$autolitpic = (empty($autolitpic) ? '' : $autolitpic);
$body = stripslashes($body);
//远程图片本地化
if($remote==1)
{
$body = GetCurContent($body);
}
//删除非站内链接
if($dellink==1)
{
$basehost = "http://".$_SERVER['HTTP_HOST'];
$body = str_replace($cfg_basehost,'#basehost#',$body);
$body = str_replace($basehost,'#2basehost2#',$body);
$body = preg_replace("/(]*)>)|(</a>)/isU","",$body);
$body = str_replace('#basehost#',$cfg_basehost,$body);
$body = str_replace('#2basehost2#',$basehost,$body);
}
//自动摘要
if($description=='' && $cfg_auot_description>0)
{
$description = cn_substr(html2text($body),$cfg_auot_description);
$description = trim(preg_replace('/
/','',$description));
$description = addslashes($description);
}

在这个下面的:
//自动获取缩略图
if($autolitpic==1 && $litpic=='')
{
$litpic = GetDDImgFromBody($body);
}

修改成:

//自动获取缩略图
//if($autolitpic==1 && $litpic=='')
//{
//$litpic = GetDDImgFromBody($body);
//}
好了大功告成!

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生