日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

使用php下载网络图片有哪些方法,php下载网络图片常用的三个方法总结_后端开发...

發布時間:2024/1/8 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用php下载网络图片有哪些方法,php下载网络图片常用的三个方法总结_后端开发... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php文件鎖產生的問題和解決方案(一個真實案例)_后端開發

一個真實案例想起自己之前犯過一個相關的錯誤。當時場景是這樣的:有一個微信公眾號項目,調用微信公眾號的接口都需要access_token,它的有效期是2小時。下面來講利用PHP下載網絡圖片常用的三個方法。當然,這三個方法都不是萬能的,有時候會因為網絡問題,或者網絡圖片的權限問題(大站一般都有防盜鏈)導致下載失敗。

一起來看看吧,實際工作中經常用到。

方法一

優點:簡單。

缺點:效率相對較低。

該方法主要用到的函數有兩個file_get_contents以及file_put_contents這種方法非常簡單,通俗的講就是先get到圖片內容,然后put到文件中。

代碼如下:

$imgFile = 'http://***.***.***/Uploads/20200424/1587710975CZlGeB.jpg';

// 獲取文件名

$imgName = trim(strrchr($imgFile, '/'), '/');

file_put_contents($imgName, file_get_contents($imgFile));

方法二

個人用的最多的方法。安裝chrome并通過selenium實現快手自動彈幕_后端開發

使用python的selenium包實現快手自動彈幕過程:一、準備chrome瀏覽器,對應版本的webdriver驅動;二、python安裝selenium包;三、在chrome中登錄快手分析發彈幕的過程;四、代碼實現;五、運行

缺點:稍微復雜點,要掌握curl的用法,需要知道curl一些選項的含義。

優點:效率高,很容易支持https;

curl非常強大,也是phper必須掌握的技能,所以建議大家使用該方法。該方法的思路是,使用curl工具獲取遠程圖片的信息,然后將該信息保存到本地的文件中。這里我沒有對curl_exec的結果做校驗了,偷個懶。

關于curl的用法,如果有想深入了解的,可以在ki4網中搜索curl。

$imgFile = 'https://***.***.***/uploads/20200121/bd873d80da430f8b74ef1ee751945595.png';

function down_img($imgUrl)

{

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $imgUrl); // 請求地址

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 不直接輸出信息

// 可以訪問https請求

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

// 執行curl并獲取數據

$results = curl_exec($ch);

$imgName = trim(strrchr($imgUrl, '/'), '/');

$fp = fopen($imgName, 'w');

fwrite($fp, $results);

// 執行完畢后,記得關閉資源

curl_close($ch);

}

down_img($imgFile);

方法三

這種方法也很簡單,用到的是php的文件管理知識。首先創建兩個文件句柄,一個用于讀取遠程圖片的二進制信息,另一個用于保存圖片信息的。

$imgFile = '

$imgName = trim(strrchr($imgFile, '/'), '/');

// 讀取遠程圖片資源

$source = fopen($imgFile, 'rb');

// 創建本地文件資源句柄,用于保存圖片信息

$down = fopen($imgName, 'wb');

while ($chunk = fread($source,1024)){

fwrite($down, $chunk, 1024);

}

fclose($source);

fclose($down);

總結

個人工作中主要用到了下列的第一種及第二種方法。另外多說一句,圖片下載倒沒什么關系,但是下載的圖片怎么用就要注意了。用的不好,就可能產生侵權問題了哦。

總結

以上是生活随笔為你收集整理的使用php下载网络图片有哪些方法,php下载网络图片常用的三个方法总结_后端开发...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。