首页>>新闻资讯

dedecms修改文章页面图片的路径

2024-09-16 14:26:11 35

终极 解决方法


找到 includedialogselect_images_post.php 第108行


$fileurl = $activepath.’/’.$filename;


换成:


$fileurl = ‘你的域名’.$activepath.’/’.$filename;


 


这样就可以完美实现dedecms上传图片相对路径改成绝对路了。


dedecms升级到5.7SP1后,开启二级域名,你会发现,在二级域名下的文章,上传的图片地址都是:二级域名+图片地址,这是相对路径。但是你的图片是默认上传在uploads里面的。应该使用绝对路径。这就出现图片路径错误,导致图片不显示。那怎么修改这种情况呢?我在网上看了好多方法,但是大部分最终是不可用的。在这里,将两种有效的方法分享给大家。这两种方法都是在你开启“多站点支持”、“绑定完二级域名”的前提下。


 


第一种:批量修改域名下所有文章内的图片路径。


1、进后台-核心-批量维护-数据库内容替换


2、选择表 dede_addonarticle


3、字段 body


4、被替换内容: src="/uploads/


5、替换为:src="http://你的域名/uploads/


6、点击“开始替换”


 


提示完成后就代表替换完成。  生成一下文章,你就发现前台显示正常了。


这种方法对于网站不大经常更新的站长比较适合,如果你每天都会更新网站文章,这个方法就会太繁琐了!下面介绍第二种方法。彻底解决这个问题。


第二种:修改程序文件,增加一个参数。


1、找到include下的文件extend.func.php


2、在文件最后增加一个参数。(php函数的结束括号外)


function replaceurl($newurl)     {     $newurl=str_replace('src="/uploads/allimg/','src="http://你的域名/uploads/allimg/',$newurl);      return $newurl;     }


3、将文章正文的调用标签  {dede:field.body/}   修改成   {dede:field.body function='replaceurl(@me)'/}


4、传到服务器,在测试一下就会发现,问题解决!


织梦缩略图:


在插入数据库和修改数据库的时候(添加和编辑),只需判断当前缩略图是否包含域名这个字符串,如果包含了就不做操作,没包含就加一个绝对路径,就解决了.也就是这里只需要改一个地方,就是操作数据库前处理下就好了.我用的是这种.


下面是详细代码:


      大家打开织梦的后台路径  默认是dede/article_add.php  和 dede/article_edit.php


      两个文件一个是添加的时候,一个是编辑的时候


      搜索 if(preg_match("#j#", $flag)) $ismake = -1; 这句代码


      在这句代码的上面加入以下代码:


      


       if($litpic!='' && !checkstr($litpic,$cfg_basehost)){


$litpic=$cfg_basehost.$litpic;


}


然后随便在include的一个php文件里面加入以下代码:


function checkstr($str,$str1){     //判断是否包含$str1这个字符     $tmparray = explode($str1,$str);     if(count($tmparray)>1){     return true;     } else{     return false;     } } 


就解决了,这个判断的意思就是如果缩略图不为空的话,并且缩略图url不包含域名的话,就给他加一个域名,这样就解决了.


那么基本就搞定了


« 上一篇:如何解决dedecms生成文章的时候不能全部更新的bug问题

» 下一篇:dedecms织梦清空文章并恢复文章ID从1开始