多语言展示
当前在线:921今日阅读:27今日分享:41

dedecms内容页图片修改为绝对路径的方法

很多朋友使用dedecms的时候都用了二级域名的功能,所以造成很多文章中图片不显示的问题。在百度后得到一个方法就是进入dede后台“系统”-“系统基本参数”-“核心设置”,开启支持多站点,结果也不管用。以下是个人总结的dedecms内容页图片修改为绝对路径的方法
工具/原料

dreamweaver/notepad++/sublime等编辑工具

方法/步骤
1

终极 解决方法找到 include\dialog\select_images_post.php 第108行$fileurl = $activepath.’/’.$filename;换成:$fileurl = ‘你的域名’.$activepath.’/’.$filename; 这样就可以完美实现dedecms上传图片相对路径改成绝对路了。

3

第二种:修改程序文件,增加一个参数。1、找到include下的文件extend.func.php2、在文件最后增加一个参数。(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不包含域名的话,就给他加一个域名,这样就解决了.那么基本就搞定了

4

具体什么意思我就不说了,看的懂的看代码就懂了,看不懂的说了也没用.织梦CMS缩略图和文章内容图片自动转化为带域名的绝对路径 这个教程也就讲完了,希望可以帮助到大家。

推荐信息