悟途网移动版

DEDECMS

悟途网 > CMS > DEDECMS > 正文

DEDECMS文章内容图片在二级域名下调用的方法

2016-01-15 23:08 悟途网 T

DEDECMS文章内容图片在二级域名下调用的方法

DedeCms SYSTEM_配置参数->其它选项中有两个配置选项:[附件目录是否绑定为指定的二级域名|附件目录的二级域名]很明显示官方早就注意到了在二级域名下的各种子问题!

打开include/FCKeditor/editor/dialog/目录下的文件:“dede_image.php”!

将这个

if($cfg_multi_site=='N')

{

$imgHtml.="<imgsrc="$imgsrcValue"width="$imgwidthValue"border="0"height="$imgheightValue"alt=

"$altname"style="cursor:pointer"onclick="window.open('$urlValue')"/><br/>rn";

}

else

{

if(empty($cfg_basehost))$cfg_basehost='http://'.$_SERVER["HTTP_HOST"];

$imgHtml.="<imgsrc="$imgsrcValue"width="$imgwidthValue"border="0"height=

"$imgheightValue"alt="$altname"style="cursor:pointer"onclick="window.open('$urlValue')"/><br/>rn";

}

改成下面

if($GLOBALS['cfg_addon_domainbind']){$addon_domain=$GLOBALS['cfg_addon_domain'];}

if($cfg_multi_site=='N')

{

$imgHtml.="<imgsrc="{$addon_domain}{$imgsrcValue}"width="$imgwidthValue"border="0"height="$imgheightValue"alt=

"$altname"style="cursor:pointer"onclick="window.open('{$addon_domain}{$urlValue}')"/><br/>rn";

}

else

{

if(empty($cfg_basehost))$cfg_basehost='http://'.$_SERVER["HTTP_HOST"];

$imgHtml.="<imgsrc="{$addon_domain}{$imgsrcValue}"width="$imgwidthValue"border="0"height="$imgheightValue"alt=

"$altname"style="cursor:pointer"onclick="window.open('{$addon_domain}{$urlValue}')"/><br/>rn";

}

现在上传的图片正常了,接下来咱们要考虑的是下面不是有一个“浏览服务器_”的按纽吗,[图片/随便/flash/多媒体]都有这个功能!

先打开include/dialog/目录下的select_images.php|select_media.php|select_soft.php|select_templets.php

将下面的代码:

$activeurl='..'.$activepath;

改成

if($GLOBALS['cfg_addon_domainbind']){$addon_domain=$GLOBALS['cfg_addon_domain'];}

$activeurl='..'.$addon_domain.$activepath;

至此完成所以的更改,这样更改是在保证织梦CMS内容管理SYSTEMSYSTEM_的完整性上改的,只有内容中的图片才会变!

当然前提是你开启:附件目录是否绑定为指定的二级域名而且指定二级域名地址!

DEDECMS附件目录绑定域名后,替换成绑定域名访问

把下面的两个函数添加到DEDE去。后台设置DEDECMS系统配置参数:其它选项

附件目录是否绑定为指定的二级域名: 是

附件目录的二级域名: 

文章内容

{dede:field.bodyfunction='SetBodyImg(@me)'/}

略缩图

[field:litpicfunction='SetImgUrl(@me)'/]

function SetBodyImg($body)

{

$img_array = array();

$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";

preg_match_all($pattern,$body,$img_array);

$img_array = array_unique($img_array[1]);

foreach($img_array as $key=>$value)

{

$okvalue = SetImgUrl($value);

$body = str_replace($value,$okvalue,$body);

}

return $body;

}

function SetImgUrl($picurl)

{

global $cfg_basehost,$cfg_addon_domainbind,$cfg_addon_domain;

if($cfg_addon_domainbind<>'Y'||empty($cfg_addon_domain)) return $picurl;

if(eregi($cfg_basehost,$picurl))

{

$picurl = str_replace('http://www.it528.com/uploads/','/',$picurl);

$picurl = str_replace($cfg_cmspath,'/',$picurl);

$picurl = str_replace($cfg_basehost,$cfg_addon_domain,$picurl);

return $picurl;

}

else if(eregi('defaultpic',$picurl))

{

$picurl = $cfg_addon_domain.'/nopic.gif';

return $picurl;

}

else if(eregi('http://',$picurl))

{

return $picurl;

}

else if(eregi('lit', $picurl))

{

$picurl = str_replace('_lit.','.',$picurl);

}

$picurl = $cfg_addon_domain.$picurl;

$picurl = str_replace('http://www.it528.com/uploads/','/',$picurl);

$picurl = str_replace($cfg_cmspath,'/',$picurl);

return  $picurl;

}