|
DEDE图集采集现在流行的2种发布方式
1个是数据库 -- 付费的才有
1个是WEB发布
WEB发布的 图片下载有DEDE完成 这是因为采用“网上复制图片”这个参数 传递无疑是最方便的
但开启这个参数 那么DEDE相关处理函数就会判断HTML代码中的img地址是否是远程,不是便会跳过,图片列表也会略过该地址,
所以不能用火车头先进行下载 否则发布内容里便没有图片列表。
但火车头下载图片无疑是最快的 而且对于一个图集较大或远程图片下载不畅时,发布比较容易失败
所以我把这个HTML提取图片的代码改动了下 以便把本地图片也加进去 希望能对需要的朋友有所帮助。
但这么做了后 有2点必须注意:
1 火车头采集的图片地址 必须将自己的网站URL地址补全 在图片保存那里设置,这是因为该函数才抽取图片时会判断http头,如果还想省事 可以将正则式的http:\/\/去掉
2 火车头不能下载下的图片 需要自己在后台手工剪辑相应图集清除
修改文件
/dede/inc/inc_archives_functions.php
找到函数
-
- function GetCurContentAlbum($body,$rfurl,&$firstdd)
复制代码
修改下面代码
- foreach($img_array as $key=>$value)
- {
- ...这里是需要修改的地方 就是3个if判断句..
- $value = trim($value);
- $itype = substr($value,-4,4);
复制代码
...这里是需要修改的地方 就是3个if判断句..
改成
-
- if((eregi($basehost,$value)) || ($cfg_basehost!=$basehost && eregi($cfg_basehost,$value)))
- {
- $rndFileName = trim($value);
- $info = '';
- $imginfos = GetImageSize($rndFileName,$info);
- $rsimg .= "{dede:img ddimg='$litpicname' text='' width='".$imginfos[0]."' height='".$imginfos[1]."'} $rndFileName {/dede:img}\r\n";
- continue;
- }
- if(!eregi("^http://",$value))
- {
- continue;
- }
复制代码
http://www.pcnewbie.cn |
|