DEDE后台控制是否使用绝对路径的参数好像默认只对远程图片本地化起效,用本地上传的话因为经过编辑器处理,开启了没用,所以这里只能自己修改一下文件,参考如下方法:

首先是内容页文章里面的图片上传后自动转为绝对链接,带网址的
1、打开 include\dialog\select_images_post.php这个文件,然后在大约108行
$fileurl = $activepath.'/'.$filename;
改为
$fileurl = $cfg_basehost.$activepath.'/'.$filename;
这里的意思就是编辑器上传的时候,带上域名这样的绝对路径.

2、然后打开/dede/inc/inc_archives_functions.php
找到大约436行
global $cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir,$ddcfg_image_dir,$cfg_addon_savetype;
改为
global $cfg_basehost,$cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir,$ddcfg_image_dir,$cfg_addon_savetype;
找到大约481行
if($isremote==1 && preg_match("#^http:\/\/#i", $picname))
改成
if(($isremote==1 && preg_match("#^http:\/\/#i", $picname)) && !checkstr($picname,$cfg_basehost))
找到大约502行
if(($litpic=='ddfirst' && !preg_match("#^http:\/\/#i", $picname))
改为
if(($litpic=='ddfirst' && !preg_match("#^http:\/\/#i", $picname)) || ($litpic=='ddfirst' && checkstr($picname,$cfg_basehost)))
找到大约503行
$oldpic = $cfg_basedir.$picname; 在这句代码的上面加一句 $picname = str_replace($cfg_basehost,'',$picname);

然后可以把滚动条拉到最下面 加入以下函数:
function checkstr($str,$str1){
//判断是否包含$str1这个字符
$tmparray = explode($str1,$str);
if(count($tmparray)>1){
return true;
} else{
return false;
}
}

完成

其次、缩略图地址改成绝对路径
我们默认的缩略图是这样的 /uploads/allimg/170714/71P2AD-1-lp.jpg 要实现的效果是这样的 https://www.bnxb.com.cn/uploads/allimg/170714/71P2AD-1-lp.jpg
需要修改dede/article_add.php 和 dede/article_edit.php
这两个文件一个是添加的时候,一个是编辑的时候
1、搜索 if(preg_match("#j#", $flag)) $ismake = -1; 这句代码
在这句代码的上面加入以下代码:
  if($litpic!='' && !checkstr($litpic,$cfg_basehost)){
  $litpic=$cfg_basehost.$litpic;
  }

2、随便在include的一个php文件里面加入以下代码:
  function checkstr($str,$str1){
  //判断是否包含$str1这个字符
  $tmparray = explode($str1,$str);
  if(count($tmparray)>1){
  return true;
  } else{
  return false;
  }
  }
完成

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。