欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

WordPress

當前位置:主頁 > CMS教程 > WordPress >

wordpress抓取文章第一張遠程圖片保存到本地的方法

來源:本站原創(chuàng)|時間:2020-01-11|欄目:WordPress|點擊: 次

這個動作我們使用一個hook來實現(xiàn):


復制代碼
代碼如下:

add_action('publish_post', 'fetch_images',999);

再創(chuàng)建一個fetch_images函數(shù),來實現(xiàn)本文所說的所有功能。


復制代碼
代碼如下:

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);

接下來,我們要獲取文章內(nèi)容中的第一張圖片:


復制代碼
代碼如下:

$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可能也是有問題的,或者根本沒有抓取到數(shù)據(jù)。不過我們先不考慮這些問題,我們先實現(xiàn)本文的目標。

接下來就是關鍵代碼一,它要實現(xiàn)“抓取-保存到本地”兩個功能:


復制代碼
代碼如下:

$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等原創(chuàng)抓取和信息獲取函數(shù),你可以查看官方文檔以了解和remote相關的函數(shù)。wp_upload_bits則將抓取到的圖片的二進制內(nèi)容保存到本地,根據(jù)其文件類型,最終成為本地保存的圖片,并將保存完后獲得的本地圖片信息保存在$mirror中。

既然已經(jīng)保存到本地了,接下來就是將圖片信息保存到數(shù)據(jù)庫中。

上一篇:不使用wordpress插件添加頁面關鍵詞和描述信息

欄    目:WordPress

下一篇:WordPress中讓Widget 標題支持簡單的HTML標簽

本文標題:wordpress抓取文章第一張遠程圖片保存到本地的方法

本文地址:http://mengdiqiu.com.cn/a1/WordPress/12789.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有