欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 织梦教程 > DEDE缩略图和文章图片自动转化为带域名的绝对路径

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:500

DEDE缩略图和文章图片自动转化为带域名的绝对路径

发布时间:2020-06-07  

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;
  }
  }
完成