wordpress抓取文章**张近程图片保留到本地的办法

这个举措咱们应用一个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('/<img.+src=[\'\"]([^\'\"]+)[\'\"].* \/>/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 远程图片 保存到本地
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress自带的条件标签应用阐明

WordPress自带的条件标签能够让你根据条件显示不同的内容,比方,你能够反省用户是在首页?能否登陆? PHP if(语...

WordPress中用于更新伪动态规定的PHP代码实例解说

flush_rewrite_rules() 函数用来删除而后依据现有的条件重写伪动态规定,也就是刷新一次伪动态规定了。 先来...

判别、增加和删除WordPress置顶文章的相干PHP函数小结

判别置顶文章 is_sticky() 函数用来判别一篇文章能否为置顶文章。 用法 is_sticky( $post_id ); 参数 $p...

WordPress 公布工夫超越15天的文章中展现广告

第一步: 性能完成起来很简略,用PHP编辑器关上以后模版的 functions.php文件。 复制以下代码出来: 复制代...

WordPress去除img标签的高度与宽度让图片自顺应屏幕

要求 如,在桌面设施上,图片应用的是以下的HTML代码: 复制代码代码如下: <img src="abc.png" alt="abc" w...

七牛镜像存储 WordPress 插件(一键完成 WordPress 博客动态文件 CDN减速)

七牛云存储是由七牛提供的在线存储效劳,经过云端接口向企业客户提供网上有限存储空间,和传统的云存储效劳...

需求提交

客服服务

亿鸽在线客服系统