亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php下載網(wǎng)絡(luò)圖片常用的三個(gè)方法總結(jié)

    下面來(lái)講利用PHP下載網(wǎng)絡(luò)圖片常用的三個(gè)方法。當(dāng)然,這三個(gè)方法都不是萬(wàn)能的,有時(shí)候會(huì)因?yàn)榫W(wǎng)絡(luò)問題,或者網(wǎng)絡(luò)圖片的權(quán)限問題(大站一般都有防盜鏈)導(dǎo)致下載失敗。

    一起來(lái)看看吧,實(shí)際工作中經(jīng)常用到。

    方法一

    優(yōu)點(diǎn):簡(jiǎn)單。

    缺點(diǎn):效率相對(duì)較低。

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

    代碼如下:

    <?php $imgFile = 'http://***.***.***/Uploads/20200424/1587710975CZlGeB.jpg'; // 獲取文件名 $imgName = trim(strrchr($imgFile, '/'), '/'); file_put_contents($imgName, file_get_contents($imgFile));

    方法二

    個(gè)人用的最多的方法。

    缺點(diǎn):稍微復(fù)雜點(diǎn),要掌握curl的用法,需要知道curl一些選項(xiàng)的含義。

    優(yōu)點(diǎn):效率高,很容易支持https;

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

    關(guān)于curl的用法,如果有想深入了解的,可以在php中文網(wǎng)中搜索curl。

    $imgFile = 'https://***.***.***/uploads/20200121/bd873d80da430f8b74ef1ee751945595.png'; function down_img($imgUrl) {     $ch = curl_init();     curl_setopt($ch, CURLOPT_URL, $imgUrl);    // 請(qǐng)求地址     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    // 不直接輸出信息     // 可以訪問https請(qǐng)求     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);     // 執(zhí)行curl并獲取數(shù)據(jù)     $results = curl_exec($ch);     $imgName = trim(strrchr($imgUrl, '/'), '/');     $fp = fopen($imgName, 'w');     fwrite($fp, $results);       // 執(zhí)行完畢后,記得關(guān)閉資源     curl_close($ch); } down_img($imgFile);

    方法三

    這種方法也很簡(jiǎn)單,用到的是php的文件管理知識(shí)。首先創(chuàng)建兩個(gè)文件句柄,一個(gè)用于讀取遠(yuǎn)程圖片的二進(jìn)制信息,另一個(gè)用于保存圖片信息的。

    <?php $imgFile = '  $imgName = trim(strrchr($imgFile, '/'), '/');  // 讀取遠(yuǎn)程圖片資源 $source = fopen($imgFile, 'rb'); // 創(chuàng)建本地文件資源句柄,用于保存圖片信息 $down   = fopen($imgName, 'wb');  while ($chunk = fread($source,1024)){     fwrite($down, $chunk, 1024); } fclose($source); fclose($down);

    總結(jié)

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

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)