爱拼搏有血性的中国球迷 發表於 2023-7-7 00:00:00

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 &amp;&amp; $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]
查看完整版本: DEDECMS 自动缩略图无法生成问题的解决方法