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中的函数-- foreach()的用法详解
Jun 24 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
PHP session文件独占锁引起阻塞问题解决方法
May 12 PHP
PHP函数超时处理方法
Feb 14 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 PHP
PHP获取页面执行时间的方法(推荐)
Dec 10 PHP
常用PHP封装分页工具类
Jan 14 PHP
微信公众号开发之通过接口删除菜单
Feb 20 PHP
php实现购物车产品删除功能(2)
Jul 23 PHP
PHP培训要多少钱
Jun 06 PHP
PHP实现的多维数组排序算法分析
Feb 10 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
php函数式编程简单示例
2019/08/08 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
js 效率组装字符串 StringBuffer
2009/12/23 Javascript
javascript 自动填写表单的实现方法
2010/04/09 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
2016/08/16 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python中itertools模块zip_longest函数详解
2018/06/12 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python中cPickle类使用方法详解
2018/08/27 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
大学生自我鉴定范文
2013/12/28 职场文书
股东合作协议书范本
2014/04/14 职场文书
小学五年级学生评语
2014/04/22 职场文书
家长给学校的建议书
2014/05/15 职场文书
文化产业实施方案
2014/06/07 职场文书
部队个人年终总结
2015/03/02 职场文书
目标责任书格式范文
2015/05/11 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android