PHP下载远程图片的几种方法总结


Posted in PHP onApril 07, 2017

PHP下载远程图片的几种方法总结

本文演示3个从远程URL下载图片,并保存到本地文件中的方法,包括file_get_contents,curl和fopen。

1. 使用file_get_contents

function dlfile($file_url, $save_to)
{
 $content = file_get_contents($file_url);
 file_put_contents($save_to, $content);
}

2.使用CURL

function dlfile($file_url, $save_to)
{
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_POST, 0); 
 curl_setopt($ch,CURLOPT_URL,$file_url); 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 $file_content = curl_exec($ch);
 curl_close($ch);
 $downloaded_file = fopen($save_to, 'w');
 fwrite($downloaded_file, $file_content);
 fclose($downloaded_file);
}

3.使用fopen

function dlfile($file_url, $save_to)
{
 $in=  fopen($file_url, "rb");
 $out=  fopen($save_to, "wb");
 while ($chunk = fread($in,8192))
 {
 fwrite($out, $chunk, 8192);
 }
 fclose($in);
 fclose($out);
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
PHP类中Static方法效率测试代码
Oct 17 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
PHP 第一节 php简介
Apr 28 PHP
php实现的常见排序算法汇总
Sep 08 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
ubuntu下配置nginx+php+mysql详解
Sep 10 PHP
一个完整的php文件上传类实例讲解
Oct 27 PHP
详解PHP实现执行定时任务
Dec 21 PHP
PHP中函数gzuncompress无法使用的解决方法
Mar 02 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
PHP7新功能总结
Apr 14 PHP
Laravel中获取IP的真实地理位置
Apr 01 PHP
POST一个JSON格式的数据给Restful服务实例详解
Apr 07 #PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
Apr 07 #PHP
php 根据自增id创建唯一编号类
Apr 06 #PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 #PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 #PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 #PHP
php生成0~1随机小数的方法(必看)
Apr 05 #PHP
You might like
PHP 日常开发小技巧
2009/09/23 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
Laravel5.0+框架邮件发送功能实现方法图文与实例详解
2019/04/23 PHP
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
react中fetch之cors跨域请求的实现方法
2018/03/14 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
Python 实现网页自动截图的示例讲解
2018/05/17 Python
Python使用sorted对字典的key或value排序
2018/11/15 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
美国女性服饰销售网站:Nasty Gal(坏女孩)
2016/07/26 全球购物
基督教卡片、励志礼品、家居装饰等:DaySpring
2018/10/12 全球购物
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
班主任对学生的评语
2014/04/26 职场文书
个人课题方案
2014/05/08 职场文书
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
2019各种保证书范文
2019/06/24 职场文书
七年级作文之冬景
2019/11/07 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis