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);
}

转载地址: PHP实现下载远程图片保存到本地的方法

PHP实现下载远程图片保存到本地的方法相关推荐

  1. php完美实现下载远程图片保存到本地(保存微信头像)

    2019独角兽企业重金招聘Python工程师标准>>> /** * php完美实现下载远程图片保存到本地 * @param: 文件url,保存文件目录,保存文件名称,使用的下载方式 ...

  2. php下载 微信头像图片_php完美实现下载远程图片保存到本地(保存微信头像)...

    /** * php完美实现下载远程图片保存到本地 * @param: 文件url,保存文件目录,保存文件名称,使用的下载方式当保存文件名称为空时则使用远程文件原来的名称 * @date: 2017-0 ...

  3. php 图片保存到本地文件,php 远程图片保存到本地的函数类

    php 远程图片保存到本地的函数类 发布于 2014-10-06 14:15:40 | 78 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...

  4. php图片本地化,PHP_php将远程图片保存到本地服务器的实现代码,php如何将远程图片本地化,本 - phpStudy...

    php将远程图片保存到本地服务器的实现代码 php如何将远程图片本地化,本文分享了实现代码 //站点根目录 $cfg_basedir = dirname(__FILE__); //停建目录属性 $cf ...

  5. php抓取远程图片到本地,php获取远程图片保存到本地

    本函数主要功能: 获取远程图片并把它保存到本地,确定有把文件写入本地服务器的权限. 变量说明: $url 是远程图片的完整URL地址,不能为空. $filename 是可选变量: 如果为空,本地文件名 ...

  6. java漫画下载_Java IO流 根据 输入url地址 爬虫下载漫画图片 保存到本地硬盘

    package com.yaimer.test; import java.io.*; import java.net.HttpURLConnection; import java.net.Malfor ...

  7. php下载远程图片到本地(总结)

    1. file_get_contents方法将图片下载到本地: <?php function geturlpic($file_url, $save_to){$content = file_get ...

  8. php curl 下载图片,CURL实现下载远程图片并保存到本地

    WEB开发中我们经常使用一些简单的采集功能,这样可以自动把远程服务器的图片或资源直接采集保存到本地服务器中:实现下载远程图片并把它保存到本地有很多方法,比如可以直接能过file_get_content ...

  9. php 远程图片大小,PHP下载远程图片并保存到本地方法总结

    这篇文章主要介绍了PHP下载远程图片并保存到本地方法总结的相关资料,需要的朋友可以参考下 1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = par ...

  10. JAVA 通过url下载图片保存到本地(亲测)

    //java 通过url下载图片保存到本地    public static void download(String urlString, int i) throws Exception {     ...

最新文章

  1. SAP RETAIL MM41 创建商品主数据时候不能使用制造业系统里配置的物料组
  2. 如何建立软件测试管理体系?
  3. BugKuCTF WEB 成绩单
  4. 简便满分解法:1005 继续(3n+1)猜想 (25分)
  5. 【iCore3 双核心板】例程二十二:LAN_UDP实验——以太网数据传输
  6. 51Nod 1530 稳定方块
  7. linux下的字符设备驱动
  8. 1.10 编程基础之简单排序 04 奖学金 7分 python
  9. python 建站 上传文件_python往网站上传数据
  10. 算法:链表实现插入排序Insertion Sort List
  11. JMX MBean class xxx does not implement DynamicMBean, and neither follows the Standard MBean conventi
  12. USB设备导致xp系统蓝屏
  13. OpenCV项目运行提示错误:can‘t open camera by index
  14. 国内低代码开发平台发展现状
  15. windows核心宝藏
  16. 1.qs100模块简单使用笔记(电信物联网平台ctwing)
  17. VueScan Pro(扫描仪驱动程序)官方中文版V9.7.50
  18. Idea运行项目报错:java.lang.OutOfMemoryError: Java heap space 解决方法
  19. 以霸王逻辑处理客户投诉
  20. 基于ubuntu的嵌入式开发环境

热门文章

  1. oracle和mysql数据实时同步_Canal 实现 Mysql数据库实时数据同步
  2. 苹果xsmax怎么开机_苹果XS/xs max按钮浮标怎么设置?
  3. Dbutils常见方法
  4. 最长上升子序列(LIS)和最长公共子序列(LCS) 模板
  5. logistic回归详解(三):梯度下降训练方法
  6. 关于layui的日期和时间组件LayData时间选择器使用时一闪而过
  7. chrome ubuntu_ubuntu 安装chrome
  8. 电信私有云 oracle,行业观察:Oracle私有云升级
  9. php+access源码,php操作access源码
  10. python函数的规则_Python函数的作用域规则和闭包