您好,登錄后才能下訂單哦!
本篇文章展示了php下載網絡圖片常用的方法,代碼簡明扼要容易理解,如果在日常工作遇到這個疑問。希望大家通過這篇文章,找到解決疑問的辦法。
優點:簡單。
缺點:效率相對較低。
該方法主要用到的函數有兩個file_get_contents
以及file_put_contents
這種方法非常簡單,通俗的講就是先get到圖片內容,然后put到文件中。
代碼如下:
<?php $imgFile = 'http://***.***.***/Uploads/20200424/1587710975CZlGeB.jpg'; // 獲取文件名 $imgName = trim(strrchr($imgFile, '/'), '/'); file_put_contents($imgName, file_get_contents($imgFile));
個人用的最多的方法。
缺點:稍微復雜點,要掌握curl
的用法,需要知道curl一些選項的含義。
優點:效率高,很容易支持https;
curl非常強大,也是phper必須掌握的技能,所以建議大家使用該方法。該方法的思路是,使用curl工具獲取遠程圖片的信息,然后將該信息保存到本地的文件中。這里我沒有對curl_exec
的結果做校驗了,偷個懶。
關于curl的用法,如果有想深入了解的,可以在億速云中搜索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的文件管理知識。首先創建兩個文件句柄,一個用于讀取遠程圖片的二進制信息,另一個用于保存圖片信息的。
<?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下載網絡圖片常用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。