织梦cms网上复制图片不可用的解决方法
来源:互联网 发布:房贷利息抵扣个税算法 编辑:程序博客网 时间:2024/04/30 20:30
背景描述:
织梦cms采集图片集时, 需要使用织梦cms提供的"网上复制图片"的功能, 好像我这里这个功能一直不可用, 今天下定决心研究了下源代码并进行了适当修改, 将我的修改提供给大家参考
操作步骤:
1. 采用IE浏览器, 发布图集
注:
复制的源网址需要清空
粘贴源代码(如: <img src='http://icon.nipic.com/BannerPic/20170928/home/20170928155702.jpg' />)到上图的第三个框
2. 打开dede/inc/inc_archives_functions.php文件修改下面这个函数
/** * 获得HTML里的外部资源,针对图集 * * @access public * @param string $body 文档内容 * @param string $rfurl 来源地址 * @param string $firstdd 开始标记 * @return string */function GetCurContentAlbum($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'); if(empty($cfg_ddimg_width)) $cfg_ddimg_width = 320; $rsimg = ''; $cfg_uploaddir = $GLOBALS['cfg_image_dir']; $cfg_basedir = $GLOBALS['cfg_basedir']; $basehost = 'http://'.$_SERVER['HTTP_HOST']; //$img_array = array(); //echo "<br />body: ".$body; preg_match_all("/(src)=[\"|'| ]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array); $img_array = array_unique($img_array); //echo "<br />"; //print_r($img_array); $imgUrl = $cfg_uploaddir.'/'.MyDate($cfg_addon_savetype, time()); $imgPath = $cfg_basedir.$imgUrl; if(!is_dir($imgPath.'/')) { MkdirAll($imgPath,$GLOBALS['cfg_dir_purview']); CloseFtp(); } $milliSecond = 'co'.dd2char( MyDate('ymdHis',time())) ; foreach($img_array as $key=>$value) { for ($i = 0; $i < count($value); $i++) {$value1 = $value[$i];$value1 = trim($value1);$value1 = str_replace("src='", "", $value1);$value1 = str_replace("src=", "", $value1);$value1 = str_replace("src=\"", "", $value1); //echo "<br />value1: ".$value1;if(preg_match("#".$basehost."#i", $value1) || !preg_match("#^http:\/\/#i", $value1) || ($cfg_basehost != $basehost && preg_match("#".$cfg_basehost."#i", $value1))){ //echo "<br />continue;";continue;}$itype = substr($value1, -4, 4);if( !preg_match("#\.(gif|jpg|png)#", $itype) ) $itype = ".jpg";$rndFileName = $imgPath.'/'.$milliSecond.'-'.$key.'-'.$i.$itype;$iurl = $imgUrl.'/'.$milliSecond.'-'.$key.'-'.$i.$itype;//echo "<br /> iurl:".$iurl;//下载并保存文件$rs = DownImageKeep($value1, $rfurl, $rndFileName, '', 0, 30);if($rs){$info = '';$imginfos = GetImageSize($rndFileName, $info);$fsize = filesize($rndFileName);$filename = $milliSecond.'-'.$key.$itype;//保存图片附件信息$inquery = "INSERT INTO `#@__uploads`(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid)VALUES ('0','$filename','$iurl','1','{$imginfos[0]}','$imginfos[1]','0','$fsize','".time()."','".$cuserLogin->getUserID()."'); ";$dsql->ExecuteNoneQuery($inquery);$fid = $dsql->GetLastID();AddMyAddon($fid, $iurl);if($pagestyle > 2){$litpicname = GetImageMapDD($iurl, $cfg_ddimg_width);}else{$litpicname = $iurl;}if(empty($firstdd) && !empty($litpicname)){$firstdd = $litpicname;if(!file_exists($cfg_basedir.$firstdd)){$firstdd = $iurl;}}@WaterImg($rndFileName, 'down');$rsimg .= "{dede:img ddimg='$litpicname' text='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";}} } return $rsimg;}
备注: 替换你的代码时, 强烈建议先备份.
参考: 丝魅吧
阅读全文
0 0
- 织梦cms网上复制图片不可用的解决方法
- 火车头采集器对接织梦cms图集发布时, 采集网上图片超时的解决方法
- “进程计数器不可用”的解决方法
- 服务器应用程序不可用的解决方法
- 服务器应用程序不可用的解决方法
- sudo命令不可用的解决方法
- sudo命令不可用的解决方法
- centos vpn 连接不可用的解决方法
- 出现RPC服务器不可用的解决方法
- ORA-01034:oracle不可用 的解决方法
- 出现RPC服务器不可用的解决方法
- 帝国CMS验证码不显示的解决方法
- cms图片滚动问题解决方法
- LINUX CP 复制不提示的解决方法
- myeclipse复制粘贴快捷键不可用的解决办法
- win7默认网关不可用怎么修复 win7默认网关不可用的快速解决方法
- vmware workstation 的/dev/vmnet8不可用的解决方法,留念
- 网上一些可用的Webservice
- Java内存泄漏总结
- PTA 7-21(排序) PAT排名汇总(25 分)25分代码
- Web前端攻城狮-Day1-HTML基础
- Linux 之GDB工具
- S3C6410启动方式及启动流程
- 织梦cms网上复制图片不可用的解决方法
- 关于photoshop使用的注意
- 剑指offer---最小的k个数
- NOIP模拟 2017.10.4 总结
- Java基础部分第十四节-正则
- SpringBoot四大神器之Actuator
- HTML 表格的制作
- 自我介绍??
- 第二章 SQL命令参考-ABORT