DEDECMS 自动缩略图无法生成问题的解决方法
<p><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>网上找了一天时间,原来是DEDE的BUG,官方坛子里还没有解决办法, </span><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>自己动手,找办法 </span><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>自动缩略图没有生成(_lit文件),这个是因为传递给GetDDImage函数的目录名不正确,根本原因是因为提取$body中的图地址时给$cfg_medias_dir加入了转义字符 </span><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>下面把解决办法说明如下: </span><br style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'><span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>修改/dede 目录下的article_add_action.php 和article_eidt_action.php 两个文件,在文件中找到//自动获取缩略图 这一段代码.改为以下部分,另外原程序中 自动取的是最后一张图,我改了一下,自动取第一张/最后一张都可以.注释掉不需要的那个就行, </span></p>
<div class="msgheader" style='margin: 3px auto 0px; padding: 0px 3px; outline: none; line-height: 21.6px; clear: both; border-width: 1px; border-style: solid; border-color: rgb(0, 153, 204); background: rgb(246, 251, 255); overflow: hidden; font-family: tahoma, arial, "Microsoft YaHei";'>
<p class="right">
<span><u>复制代码</u></span></p>
<p>
代码如下:</p>
</div>
<p class="msgborder" style='margin: 0px auto 3px; padding: 0px 3px; outline: none; line-height: 25.2px; font-size: 14px; clear: both; border-right: 1px solid rgb(0, 153, 204); background: rgb(221, 237, 251); overflow: hidden; border-left: 1px solid rgb(0, 153, 204); word-break: break-all; border-bottom: 1px solid rgb(0, 153, 204); word-wrap: break-word; font-family: tahoma, arial, "Microsoft YaHei";'>
<br>
//更正的代码如下:已在FreeBSD/Apache2.2.4/PHP5.2.3测试通过 <br>
//自动获取缩略图 <br>
if($autolitpic==1 && $litpic==''){ <br>
//自动从第一张图生成 <br>
$picname = preg_replace("/.+?".str_replace('/','\/',$cfg_medias_dir)."(.+?)( |\"|').*$/is",$cfg_medias_dir."$1",$body); <br>
//自动从最后一张图生成 <br>
//$picname = preg_replace("/.+?".str_replace('/','\/',$cfg_medias_dir)."(.*)( |\"|').*$/isU",$cfg_medias_dir."$1",$body); <br>
if(eregi("\.(jpg|gif|png)$",$picname)){ <br>
if(ereg("_lit\.",$picname)) $litpic = $picname; <br>
else $litpic = GetDDImage('ddfirst',$picname,0); <br>
} <br>
} </p>
頁:
[1]