安静
PHP技术博客

120930 gxcms(1.4)关于采集图片失效的问题解决

刚开始使用gxcms得时候 由于VPS服务器的硬盘有点小 没有远程存储图片,但随着时间的迁移,很多图片都在不断得失效,所以开启了图片本地化功能.

当开启功能后 发下很多图片远程地址已经不存在,虽然gxcms 提供了 重新采集资料 。但如果你重新采集资料 那么你已经下载的图片会重新下载,对于拥有2W资源+的站来说 一次下载过程是极度得损耗的 ,所以我一直没有这么去做。

今天无聊闲着蛋疼我改了下 代码修改很简单 见已经修正的源码.

修改1个文件即可 /core/lib/model/XmlzyModel.class.php

VdoDB=D('video');	
}
/**
* 通过远程地址参数抓取需要的数据
* GetParams
*/
public function xml_httpurl(){
$array_url = array(); //本地程序跳转参数与远程变量参数
$array_tpl = array(); //本地程序模板变量参数
//获取跳转参数
$array_url['ziyuan'] = !empty($_GET['ziyuan'])?trim($_GET['ziyuan']):'gxcms'; //合作资源站程序
$array_url['fid']    = $_GET['fid'];    //合作渠道ID
$array_url['action'] = $_GET['action']; //是否入库(all/day/ids)
$array_url['xmlurl'] = $_GET['xmlurl']; //资源库网址
$array_url['reurl']  = $_GET['reurl'];  //来源网址
$array_url['pic']    = $_GET['pic'];    //重采图片
//
$array_url['cid']    = $_GET['cid']; //指定视频分类
$array_url['wd']     = $_GET['wd'];
if($_POST['wd']){//指定关键字
$array_url['wd'] = trim($_POST['wd']);
} 
$array_url['h']      = intval($_GET['h']); //指定时间
$array_url['p']      = !empty($_GET['p'])?intval($_GET['p']):1; $array_url['page'] = $array_url['p']; //指定分页	
$array_url['vodids'] = $_GET['vodids']; //指定视频ID
if($_POST['ids'] && ($array_url['action']=='ids')){//手工选择要采集影片
$array_url['vodids'] = implode(',',$_POST['ids']);
}			
$array_url['inputer'] = $_GET['inputer']; //指定资源库频道
$array_url['play']    = $_GET['play']; //指定播放器组(如不指定则为目标站的全部播放器组)
// 分支资源库程序
$zymodel = 'ziyuan_'.$array_url['ziyuan'];
return $this->$zymodel($array_url);
}
/**
* 资源站为A类型 
* @param  array $array_url
* @return array
*/
public function ziyuan_a($array_url){
//组合资源库A类型的URL地址并获取XML资源
$array_tpl['httpurl']     = '&wd='.urlencode($array_url['wd']).'&t='.$array_url['cid'].'&h='.$array_url['h'].'&ids='.$array_url['vodids'].'&pg='.$array_url['p'];
if($array_url['action']){
$array_tpl['httpurl'] = str_replace('?ac=list','?ac=videolist',$array_url['xmlurl']).$array_tpl['httpurl'];
}else{
$array_tpl['httpurl'] = $array_url['xmlurl'].$array_tpl['httpurl'];
}
$array_tpl['httpurl']     = str_replace('@','/',$array_tpl['httpurl']);//还原目标网址
//抓取地址开始
$xml = get_collect_file($array_tpl['httpurl']);
if ($xml) {
//组合分页信息
preg_match('',$xml,$page_array);
$xml_page['recordcount'] = $page_array[4];
$xml_page['pagecount']   = $page_array[2];
$xml_page['pagesize']    = $page_array[3];
$xml_page['pageindex']   = $page_array[1];
$array_url['p']          = '{!page!}';
$array_tpl['pageurl']    = U('Admin-Collect/Gxcms',$array_url);
$array_tpl['pagelist']   = '共'.$xml_page['recordcount'].'条数据 页次:'.$xml_page['pageindex'].'/'.$xml_page['pagecount'].'页 '.get_cms_page_css($xml_page['pageindex'],$xml_page['pagecount'],5,$array_tpl['pageurl'],'pagego(\''.$array_tpl['pageurl'].'\','.$xml_page['pagecount'].')');
//组合绑定分类
preg_match_all('/([\s\S]*?)<\/ty>/',$xml,$array_list);
foreach($array_list[1] as $key=>$value){
$list[$key]['cid']    = $value;
$list[$key]['cname']  = $array_list[2][$key];
$list[$key]['bind_id']= $array_url['fid'].'_'.$value;
}
if($array_url['action']){
preg_match_all('/
赞(0) 打赏
未经允许不得转载:AJ's Blog » 120930 gxcms(1.4)关于采集图片失效的问题解决
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏