久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP實現下載遠程圖片保存到本地的方法

本篇文章主要介紹了PHP實現下載遠程圖片的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在使用 PHP 做簡單的爬蟲的時候,我們經常會遇到需要下載遠程圖片的需求,所以下面來簡單實現這個需求。

1.使用 curl

比如我們有下面這兩張圖片:

$images = [
  'https://dn-laravist.qbox.me/2015-09-22_00-17-06j.png',
  'https://dn-laravist.qbox.me/2015-09-23_00-58-03j.png'
];

第一步,我們可以直接來使用最簡單的代碼實現:

function download($url, $path = 'images/')
{
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  $file = curl_exec($ch);
  curl_close($ch);
  $filename = pathinfo($url, PATHINFO_BASENAME);
  $resource = fopen($path . $filename, 'a');
  fwrite($resource, $file);
  fclose($resource);
}

那在下載遠程圖片的時候就可以這樣:

foreach ( $images as $url ) {
  download($url);
}

2.封裝一個類

縷清思路之后,我們可以將這個基本的功能封裝到一個類中:

class Spider {

  public function downloadImage($url, $path = 'images/')
  {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    $file = curl_exec($ch);
    curl_close($ch);
    $filename = pathinfo($url, PATHINFO_BASENAME);
    $resource = fopen($path . $filename, 'a');
    fwrite($resource, $file);
    fclose($resource);
  }
}  

在者,我們還可以這樣稍微優化一下:

public function downloadImage($url, $path='images/')
  {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    $file = curl_exec($ch);
    curl_close($ch);

    $this->saveAsImage($url, $file, $path);
  }

  private function saveAsImage($url, $file, $path)
  {
    $filename = pathinfo($url, PATHINFO_BASENAME);
    $resource = fopen($path . $filename, 'a');
    fwrite($resource, $file);
    fclose($resource);
  }

封裝成類之后,我們可以這樣調用代碼來下載圖片:

$spider = new Spider();

foreach ( $images as $url ) {
  $spider->downloadImage($url);
}

這樣,對付基本的遠程圖片下載就OK了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現的多維數組排序算法,結合實例形式對比分析了php針對多維數組及帶有鍵名的多維數組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發接口使用RSA進行加密解密方法,對此有興趣的朋友可以學習下。
主站蜘蛛池模板: 国产免费成人 | 久久九九视频 | 国产三级黄色 | 自拍偷拍欧美日韩 | 日韩久久一区 | 高hnp失禁3p小公主 | 一区二区不卡 | 精品国产精品三级精品av网址 | 成人免费视频视频 | 手机看片福利永久 | 亚洲色网址 | 91亚洲国产成人精品性色 | 国产黄色在线观看 | 麻豆视频国产 | 在线看的av | 欧洲精品 | 日韩视频在线观看 | 日日干狠狠干 | 黄色片视频网站 | 午夜影院黄 | 亚洲国产精 | 欧美一级淫片bbb一84 | 狠狠干美女| 亚洲精品aaa| 中文在线观看免费网站 | 欧美日韩在线一区二区三区 | 精久久久久 | 免费黄色网址在线观看 | 国产一区二区网站 | 成人自拍视频在线观看 | 精品一区二区免费视频 | 天天夜夜操 | 九九九热 | 亚洲精品www久久久久久广东 | 黄色一级片免费 | 精品成人在线 | 少妇特黄a一区二区三区 | 人人九九精 | 久久er99热精品一区二区 | 欧美一级日韩一级 | 国产午夜在线 |