网上找了一天时间,原来是DEDE的BUG,官方坛子里还没有解决办法, 自己动手,找办法
自动缩略图没有生成(_lit文件),这个是因为传递给GetDDImage函数的目录名不正确,根本原因是因为提取$body中的图地址时给$cfg_medias_dir加入了转义字符
下面把解决办法说明如下:
修改/dede 目录下的article_add_action.php 和article_eidt_action.php 两个文件,在文件中找到//自动获取缩略图 这一段代码.改为以下部分,另外原程序中 自动取的是最后一张图,我改了一下,自动取第一张/最后一张都可以.注释掉不需要的那个就行, 代码如下:
- //更正的代码如下:已在FreeBSD/Apache2.2.4/PHP5.2.3测试通过
- //自动获取缩略图
- if($autolitpic==1 && $litpic==''){
- //自动从第一张图生成
- $picname = preg_replace("/.+?".str_replace('/','/',$cfg_medias_dir)."(.+?)( |"|').*$/is",$cfg_medias_dir."$1",$body);
- //自动从最后一张图生成
- //$picname = preg_replace("/.+?".str_replace('/','/',$cfg_medias_dir)."(.*)( |"|').*$/isU",$cfg_medias_dir."$1",$body);
- if(eregi(".(jpg|gif|png)$",$picname)){
- if(ereg("_lit.",$picname)) $litpic = $picname;
- else $litpic = GetDDImage('ddfirst',$picname,0);
- } //Vevb.com
- }
新闻热点
疑难解答