文档章节

phpcms 图集采集功能

baiyygysve
 baiyygysve
发布于 2017/05/19 16:14
字数 548
阅读 6
收藏 0
点赞 0
评论 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 ⋅ 0

WCMS V9.0 正式版发布

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

大灰狼wow ⋅ 2015/07/24 ⋅ 7

推荐PHPCMS V9网站系统

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

xiaogg ⋅ 2011/11/08 ⋅ 0

phpcms v9采集中遇到的相对路径的问题

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

wushan37 ⋅ 2017/03/22 ⋅ 0

内容管理系统--yiifcms

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

Ps_极客 ⋅ 2014/09/24 ⋅ 0

织梦上传到linux空间后采集图集出错:

织梦上传到linux空间后采集图集出错: 提示: Notice: Undefined variable: litpicname in /www/web/www.jjlady.com/include/dedecollection.func.php on line 254 Notice: Undefined variab......

leondaa ⋅ 2012/12/19 ⋅ 2

当图虫遇到爬虫...

首先,图虫网是一个很棒的图片网站,这里的爬虫只是为了研究技术,请读者朋友们,不要大量采集网站信息,爬取的图片,请取得版权后再使用... 图虫网 根据”分类名称”,获取json数据 image.png imag...

_昭昭_ ⋅ 2017/11/03 ⋅ 0

教你织梦DEDE自动更新首页的办法

如果网站主页使用了支持随机调用文章的CMS,如:dedecms,内容又是采集的,并且你没多少时间进行手动更新内容的话,但又想让百度喜欢你的网站,用这个小程序将会对你相当的有用和方便。 代码...

老朱教授 ⋅ 2017/10/01 ⋅ 0

PHPCMS V9正式版今日发布 坚持开源开放

12月29日消息,盛大在线旗下PHPCMS今日宣布,发布网站内容管理软件PHPCMS V9正式版。 PHPCMS V9在技术和易用性等方面进行了创新,新增二大主要功能:首次将站群功能引入到开源系统中来,并引...

红薯 ⋅ 2010/12/29 ⋅ 0

phpcms后台通过快速进入搜索各栏目下文章标题

phpcms 通过后台快速进入功能加入查询文章标题 PHPcms后台通过 内容--》管理内容--》快速进入 (添加前只能通过拼音或者栏目名称查询栏目下文章) 通过修改phpcms/modules/content/template...

皇冠小丑 ⋅ 2016/03/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

Spring JDBC使用方法

普通实现: 1、创建数据表customer。 可以使用任何数据库实现,在项目中要引入相应数据库驱动包并配置相应数据库连接。 2、创建Customer pojo。 Customer类的属性对应数据库的属性,除了为每...

霍淇滨 ⋅ 今天 ⋅ 0

Contos 7 安装Jenkins

Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤 开发 提交 编译 测试 发布 有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动...

欧虞山 ⋅ 今天 ⋅ 0

revel

revel install go get github.com/revel/revelgo get github.com/revel/cmd create new app revel new git.oschina.net/zdglf/myapp run app revel run git.oschina.net/zdglf/myapp ot......

zdglf ⋅ 今天 ⋅ 0

49. Group Anagrams - LeetCode

Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List<String>> groupAnagrams(String[] strs) { Map<Strin......

yysue ⋅ 今天 ⋅ 0

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 今天 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 今天 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部