虚位以待(AD)
虚位以待(AD)
首页 > CMS教程 > WordPress > wordpress抓取文章第一张远程图片保存到本地的方法

wordpress抓取文章第一张远程图片保存到本地的方法
类别:WordPress   作者:码皇   来源:互联网   点击:

这个动作我们使用一个hook来实现:复制代码代码如下:add_action( publish_post , fetch_images ,999);再创建一个fetch_images函数,来实现本文所说的所有功能。复制代码代码如下:function fetch_images( $pos ,魔客吧

这个动作我们使用一个hook来实现:


复制代码 代码如下:
add_action('publish_post', 'fetch_images',999);

再创建一个fetch_images函数,来实现本文所说的所有功能。


复制代码 代码如下:
function fetch_images( $post_ID ){
if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return;
if ( !current_user_can('edit_post', $post_ID) ) return;
$post = get_post($post_ID);

接下来,我们要获取文章内容中的第一张图片:


复制代码 代码如下:
$first_image = '';
preg_match('//i',$post->post_content,$images);
if(!empty($images))foreach($images as $image){
if(strpos($image,'http') === 0){
$first_image = $images[1];
break;
}
}

但实际上,通过上述的代码获得的图片src可能也是有问题的,或者根本没有抓取到数据。不过我们先不考虑这些问题,我们先实现本文的目标。

接下来就是关键代码一,它要实现“抓取-保存到本地”两个功能:


复制代码 代码如下:
$get = wp_remote_get( $get_image_src );
$type = wp_remote_retrieve_header( $get, 'content-type' );
$file_name = basename($get_image_src);
$file_content = wp_remote_retrieve_body($get);
$mirror = wp_upload_bits($file_name,null,$file_content);

这个地方有一个变化,上面我们获得了$first_image,这个地方的$get_image_src是上述得到的要抓取的远程图片地址。

在WordPress中,提供了wp_remote_get、wp_remote_retrieve_body等原创抓取和信息获取函数,你可以查看官方文档以了解和remote相关的函数。wp_upload_bits则将抓取到的图片的二进制内容保存到本地,根据其文件类型,最终成为本地保存的图片,并将保存完后获得的本地图片信息保存在$mirror中。

既然已经保存到本地了,接下来就是将图片信息保存到数据库中。

魔客吧温馨提示:在魔客吧有许多的精品 wordpress主题 ,如果你正需要wordpress主题,那么赶快去下载吧!

分享到 更多 <script type="text/javascript" id="bdshell_js"></script><script type="text/javascript">document.getElementById("bdshell_js").src = "http://share.baidu.com/static/js/shell_v2.js?cdnversion=" + new Date().getHours();</script> 本文地址:http://www.moke8.com/article-21473-1.html
文章标题:wordpress抓取文章第一张远程图片保存到本地的方法 收藏邀请 最新分享资源 包装材料生产线设备织梦模板

包装材料生产线设备织梦模板

dedecms模板 by moke 响应式淘宝美工摄影类织梦模板

响应式淘宝美工摄影类织梦模板

dedecms模板 by moke 响应式金属制品dedecms模板

响应式金属制品dedecms模板

dedecms模板 by moke 响应式无人机电子产品dede模板

响应式无人机电子产品dede模板

dedecms模板 by moke

最新评论

验证码 换一个 <script type="text/javascript" reload="1">updateseccode('SljTIIu0');</script>

相关分类

  • discuz教程
  • discuzx教程
  • phpwind教程
  • dedecms教程
  • phpcms教程
  • wordpress教程
  • ecshop教程
  • php168教程
  • shopex教程
  • 帝国cms教程

精品推荐

中英双语响应式电子企业织梦模板

精华 中英双语响应式电子企业织梦模板

dedecms模板 by moke

极品资源

高端建筑装饰带手机版十配色织梦模板

极品 高端建筑装饰带手机版十配色织梦模板

dedecms模板 by moke

原创模板

多配色创意metro风格企业

魔币 多配色创意metro风格企业

下载排行

  • 01包装材料生产线设备织梦模板

资源分类

企业网站模板 企业网站源码 个人网站模板 个人网页模板 手机wap网站 门户网站模板 商业源码 淘宝客程序 html5网站 网站后台模板 html网页模板 学校网站模板 <script type="text/javascript">var cookieLogin = Ajax("TEXT");cookieLogin.get("connect.php?mod=check&op=cookie", function() {});</script><script type="text/javascript">_attachEvent(window, 'load', getForbiddenFormula, document);function getForbiddenFormula() {var toGetForbiddenFormulaFIds = function () {ajaxget('plugin.php?id=cloudsearch&formhash=ab6631ba');};var a = document.body.getElementsByTagName('a');for(var i = 0;i < a.length;i++){if(a[i].getAttribute('sc')) {a[i].setAttribute('mid', hash(a[i].href));a[i].onmousedown = function() {toGetForbiddenFormulaFIds();};}}var btn = document.body.getElementsByTagName('button');for(var i = 0;i < btn.length;i++){if(btn[i].getAttribute('sc')) {btn[i].setAttribute('mid', hash(btn[i].id));btn[i].onmousedown = function() {toGetForbiddenFormulaFIds();};}}}</script>

联系我们 | 关于我们 | 招商加盟 | 版权声明 | 帮助中心 | 广告服务 | 网站地图

欢迎浏览魔客吧提供的 wordpress抓取文章第一张远程图片保存到本地的方法 信息,若本站中的信息侵犯了您的权益,请与本站管理员联系

Copyright @ 2010-2015 魔客吧 版权所有 蜀ICP备09014119号 川公网安备51050202000165号   <script type="text/javascript" src="http://tcss.qq.com/ping.js?v=1VERHASH" charset="utf-8"></script><script type="text/javascript" reload="1">pgvMain({"discuzParams":{"r2":"5238379","ui":0,"rt":"portal","pn":1,"qq":"000"},"extraParams":""});</script>

积分 0, 距离下一级还需 积分 <script type="text/javascript">_attachEvent(window, 'scroll', function(){showTopLink();});</script><script>(function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https'){ bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else{ bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s);})();</script> <script type="text/javascript"> var tipsinfo = '5238379|X2.5|0.6||0||0|7|1526822186|f123906433a3c0c658473f51c2f5cac2|2'; </script> <script src="http://discuz.gtimg.cn/cloud/scripts/discuz_tips.js?v=1" type="text/javascript" charset="UTF-8"></script><script type="text/javascript" src="https://idm-su.baidu.com/su.js"></script>
相关热词搜索: wordpress抓取文章第一张远程图片保存到本