Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php下载网络图片常用的三个方法总结

php下载网络图片常用的三个方法总结

发布时间:2020-05-08   编辑:www.jquerycn.cn
jquery中文网为您提供php下载网络图片常用的三个方法总结等资源,欢迎您收藏本站,我们将为您提供最新的php下载网络图片常用的三个方法总结资源
下面来讲利用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的用法,如果有想深入了解的,可以在jquery中文网中搜索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下载网络图片常用的三个方法总结的详细内容,更多请关注jQuery中文网其它相关文章!

  • 本文原创发布jQuery中文网,转载请注明出处,感谢您的尊重!
  • 您可能感兴趣的文章:
    php 多图片上传的简单例子(图文)
    40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
    CSS+Jquery实现页面圆角框方法大全
    40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
    40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
    php 定义404页面的方法
    php 完美解决无法上传大文件方法
    php调用外部shell的方法总结
    JavaScript和JQuery实用代码片段(一)
    Highcharts教程 Highcharts翻译索引页

    [关闭]