DedeCMS发布图集时远程调用图片的修改 for dede5.7SP1
本文根据 织梦CMS网上复制图片直接调用远程图片不下载的方法
http://www.51dedecms.com/news/dedecms/2 ... /2193.html
修改而来,且原文附有dede5.5版的修改文件包,大家可以参考下。
1,用记事本打开dede\templets目录下的album_add.htm文件
搜索
[code]网上复制图片[/code]
在它后面添加
[code]<input name="formhtml" class="np" type="checkbox" id="formhtml" value="2" onClick="showHtmlField(this,'htmlfield','zipff');" />网上调用图片[/code]
然后保存
2,用记事本打开dede\templets目录下的album_edit.htm文件
搜索
[code]网上复制图片[/code]
在它后面添加
[code]<input name="formhtml" class="np" type="checkbox" id="formhtml" value="2" onClick="showHtmlField(this,'htmlfield','zipff');" />网上调用图片[/code]
然后保存
3,用记事本打开dede目录下的album_add.php文件
搜索
[code] //处理并保存从网上复制的图片
/*---------------------
function _getformhtml()
------------------*/
if($formhtml==1)
{
$imagebody = stripslashes($imagebody);
$imgurls .= GetCurContentAlbum($imagebody,$copysource,$litpicname);
if($ddisfirst==1 && $litpic=='' && !empty($litpicname))
{
$litpic = $litpicname;
$hasone = TRUE;
}
}[/code]
替换为
[code] //处理并保存从网上复制的图片
/*---------------------
function _getformhtml()
------------------*/
if($formhtml==1)
{
$imagebody = stripslashes($imagebody);
$imgurls .= GetCurContentAlbum($imagebody,$copysource,$litpicname);
if($ddisfirst==1 && $litpic=='' && !empty($litpicname))
{
$litpic = $litpicname;
$hasone = TRUE;
}
}
if($formhtml==2)
{
$imagebody = stripslashes($imagebody);
$imgurls .= GetCurContentAlbum2($imagebody,$copysource,$litpicname);
if($ddisfirst==1 && $litpic=='' && !empty($litpicname))
{
$litpic = $litpicname;
$hasone = true;
}
}[/code]
然后保存。
4,用记事本打开dede目录下的album_edit.php文件
搜索
[code] //----------------------------
//从HTML中获取新图片
//----------------------------
if($formhtml==1 && !empty($imagebody))
{
$imagebody = stripslashes($imagebody);
$imgurls .= GetCurContentAlbum($imagebody,$copysource,$litpicname);
if($ddisfirst==1 && $litpic=="" && !empty($litpicname))
{
$litpic = $litpicname;
$hasone = true;
}
}[/code]
替换为
[code] //----------------------------
//从HTML中获取新图片
//----------------------------
if($formhtml==1 && !empty($imagebody))
{
$imagebody = stripslashes($imagebody);
$imgurls .= GetCurContentAlbum($imagebody,$copysource,$litpicname);
if($ddisfirst==1 && $litpic=="" && !empty($litpicname))
{
$litpic = $litpicname;
$hasone = true;
}
}
if($formhtml==2 && !empty($imagebody))
{
$imagebody = stripslashes($imagebody);
$imgurls .= GetCurContentAlbum2($imagebody,$copysource,$litpicname);
if($ddisfirst==1 && $litpic=="" && !empty($litpicname))
{
$litpic = $litpicname;
$hasone = true;
}
}[/code]
然后保存。
5,用记事本打开dede\inc目录下的inc_archives_functions.php文件
搜索
[code]/**
* 获得文章body里的外部资源[/code]
在它上面添加
[code]function GetCurContentAlbum2($body, $rfurl, &$firstdd)
{
global $dsql,$cfg_multi_site,$cfg_basehost,$cfg_ddimg_width;
global $cfg_basedir,$pagestyle,$cuserLogin,$cfg_addon_savetype;
require_once(DEDEINC.'/dedecollection.func.php');
$rsimg = '';
$img_array = array();
preg_match_all("/(src)=[\"|'| ]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2]);
foreach($img_array as $key=>$value)
{
$value = trim($value);
$rsimg .= "{dede:img text='' } $value {/dede:img}\r\n";
}
return $rsimg;
}[/code]
然后保存。
请先在您的计算机上调试成功后再
最后将此5个文件上传覆盖对应文件即可.