文档章节

phpcms 图集采集功能

baiyygysve
 baiyygysve
发布于 2017/05/19 16:14
字数 548
阅读 7
收藏 0

phpcms 有自带采集功能,但好像不支持图集模型采集(多图是后台用flash上传),文章模型的图片是可以下载运程图片的,基本流程是用编辑器内容提交后,正则判断是否包含运程图片,包含就下载!那么我们图片也是可以用编辑器中的下载功能,即系统类中attachment的download方法,把要下载的图片制作成html然后把编辑器的下载功能拿来用,这样就可以下载下来运程图片,然后把v9_picture_data中的pictureurls 修改成我们下载下来的图片地址,这样就达到了采集图集的目的了!

流程

1、采集目标站的标题、图集地址 getcontentdata($url)功能;

2、将采集到的图集地址组装成'<img src="运程图片下载地址"'/>HTML格式,然后下载并获取下载后的本地图片地址 downloadpic($picarr, $title)功能;

3、入库并修改图集副表中的pictureurls值import_content($data)功能;

这样图集就下载并存入数据库中了!

function getcontentdata($url) {
	$contenthtml=file_get_html($url);
	$pictures=array();
	if (!is_object($contenthtml)) return false;
	$title='';//目标站标题
	$pictures=array();
	for($i=1;$i=10;$i++){
	$pictures[]='http://xxx/pic/'.$i.'.jpg';//目标站要下载的图集地址
	}
	//下载图片
	$pictures=downloadpic($pictures, $title);
	$data['title']=$title;
	$data['pictures']=$pictures;
	//$data['keywords']=$keywords;
	return $data;
}

 

function downloadpic($picarr, $title) {
	$pictures=array();

	if (!array($picarr || empty($picarr))) {
		return $pictures;
	}
	foreach ($picarr as $key => $pic) {
		$picarr[$key]='<img src="'.$pic.'" />';
	}
	if (!array($picarr || empty($picarr))) {
		return $pictures;
	}
	$value=implode(' ', $picarr);
	//初始化附件类
	pc_base::load_sys_class( 'attachment', '', 0 );
	$attachment = new attachment( 'content', '0', 1 );
	$value = $attachment->download('content', $value);
	preg_match_all("/(href|src)=([\"|']?)([^ \"'>]+\.('gif|jpg|jpeg|bmp|png'))\\2/i", $value, $matches);
	if (!empty($matches[3])) {
		foreach ($matches[3] as $k=>$v) {
			
			$pictures[$k]['url']=$v;
			$pictures[$k]['alt']=$title;
		}
	}
	return $pictures;
}
/导入文章到模型
//$data 入库数据
//$id 采集列表ID用于修改状态
function import_content($data) {
	$content_db=pc_base::load_model( 'content_model' );
	$content_db->set_model(3);
	$sql = array('catid'=>$data['catid'], 'status'=>$data['status'], 'title'=>$data['title'], 'thumb'=>$data['thumb']);
	$contentid = $content_db->add_content($sql, 1);
	//图集图片入库
	$content_db->update(array('pictureurls'=>array2string($data['pictureurls'])), array('id'=>$contentid));
	//加图图集信息与内容id对应建立关系
	insert_attrchment($data['catid'], $contentid);
	echo $contentid."INSERT SUCCESS\r\n";
}
function insert_attrchment($catid, $contentid) {
	$attachment_db = pc_base::load_model('attachment_model');
	$attachment_db->api_update($GLOBALS['downloadfiles'], 'c-'.$catid.'-'.$contentid,1);
}

 

 

 

© 著作权归作者所有

共有 人打赏支持
baiyygysve
粉丝 0
博文 21
码字总数 17541
作品 0
厦门
程序员
PHPCMS后台密码忘记解决办法

什么是PHPCMS? PHPCMS是一款网站管理软件。该软件采用模块化开发,支持多种分类方式,使用它可方便实现个性化网站的设计、开发与维护。它支持众多的程序组合,可轻松实现网站平台迁移,并可...

OneTODO
2016/10/30
11
0
WCMS V9.0 正式版发布

新增的功能 1、自定义多个标签 如面积、风格、颜色 2、增加了通过标签搜索 3、修改后台界面参考了phpcms 4、后台可自行开启是否打水印和配置位置 5、列表页参数 cid分类 sort排序 flag标签 ...

大灰狼wow
2015/07/24
4K
7
推荐PHPCMS V9网站系统

PHPCMS V9(后面简称V9)采用PHP5+MYSQL做为技术基础进行开发。V9采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发 形式。框架易于功能扩展,代码维护,优秀的二次...

xiaogg
2011/11/08
0
0
phpcms v9采集中遇到的相对路径的问题

一、采集网址时,遇上网址是相对路径的问题。(网上抄的,可用) 修改数据库v9collectionnode,增加两个字段replacefrom,replaceto(varchar(200)) 1、 /phpcms/modules/collection/templat...

wushan37
06/26
0
0
内容管理系统--yiifcms

yiifcms 是基于 YII 框架开发的内容管理系统,功能强大,运行高效,稳定安全,是学习 php 和建站的良好选择。 目前已开发到 1.5版本 目前cms功能有: 用户注册、登录, 邮箱激活,支持第三方授...

Ps_极客
2014/09/24
2.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

新工作与老项目

新的工作不知不觉的干了一个多月了。怎么说呢,跟想象中的差别不少,本来想的能进来跟大公司的同事能有很多交流,能在团队中跟大牛学习更快。结果公司的这个项目上只有两个程序员,项目是十年...

zypy333
14分钟前
0
0
mysql 在windows的安装

mysql 在windows的安装。 mysql64位的server的下载地址是: https://dev.mysql.com/downloads/mysql/ 使用的是5.7版本。 下载安装包,解压至D:\mysql\mysql-5.7.23-winx64\ 在D:\mysql\mysq...

lxzh504
27分钟前
1
0
云技术、大数据(hadoop)入门常见问题回答

当我们学习一门新技术的时候,我们总是产生各种各样的问题,这些问题整理出来,包括该 1.如何学习hadoop? 2.hadoop常见问题? 3.还有hbase、hive安装使用等? 你知道搭建hadoop平台需要些什...

董黎明
27分钟前
1
0
小程序自定义底部tab

场景 1.tabBar是在内页而非首页,这时就不得不自定义一个tabBar了 2.自定义风格 3.子页数量超过5个,得到更多了tab 4.改变点击tab默认事件,比如出登录界面,或者弹出上拉子菜单等 步骤 1.照...

萤火的萤火
32分钟前
1
0
shell炫技

1.为脚本添加“--help” #!/bin/shif [ ${#@} -ne 0 ] && [ "${@#"--help"}" = "" ]; then printf -- '...help...\n'; exit 0;fi; 2.输出字体添加颜色 https://misc.flogisoft.com......

HJCui
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部