设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
从性能方面考虑PHP下载远程文件的3种方法 ...
返回列表
查看:
1731
|
回复:
0
从性能方面考虑PHP下载远程文件的3种方法
[复制链接]
yj1281
当前离线
积分
7391
2487
主题
2487
帖子
7391
积分
论坛元老
论坛元老, 积分 7391, 距离下一级还需 9992608 积分
论坛元老, 积分 7391, 距离下一级还需 9992608 积分
积分
7391
发消息
电梯直达
楼主
发表于 2018-2-14 05:40:13
|
只看该作者
|
倒序浏览
|
阅读模式
今天在做导出Excel的时候,总是要测试导出的Excel文件,频繁的下载和打开,很麻烦就想着写段代码一气呵成 服务端导出Excel==>下载Excel文件到本地==>并打开的操作。
这里摘出PHP下载远端文件的方案,以备忘。其中第3种方法考虑到文件过大时的性能问题。
3种方案:
-rw-rw-r-- 1 liuyuan liuyuan 470 Feb 20 18:12 test1_fopen.php
-rw-rw-r-- 1 liuyuan liuyuan 541 Feb 20 18:06 test2_curl.php
-rw-rw-r-- 1 liuyuan liuyuan 547 Feb 20 18:12 test3_curl_better.php
方案1,适用于小文件
直接使用fopen()/file_get_contents()获取文件流并用file_put_contents()写入
方案2:通过Curl获取内容
第1,2种方案存在一个问题,就是在写入本地磁盘之前,文件会被读入内存中,那么当文件很大的时候,可能会超出内存而崩溃
即使你的内存设置的足够的大,那这也是不别要的开销
解决方法是:直接给CURL一个可写的文件流来让它自己来解决这个问题(通过 CURLOPT_FILE选项),这样就要先创建一个文件指针给它。
以上内容给大家介绍了从性能方面考虑PHP下载远程文件的3种方法,希望大家喜欢。
您可能感兴趣的文章:
PHP文件下载类
php下载远程文件类(支持断点续传)
php带密码功能并下载远程文件保存本地指定目录 修改加强版
解决PHP超大文件下载,断点续传下载的方法详解
php实现的支持断点续传的文件下载类
PHP下载远程文件到本地存储的方法
浅谈php fopen下载远程文件的函数
PHP实现的文件操作类及文件下载功能示例
php下载远程大文件(获取远程文件大小)的实例
PHP实现的下载远程文件类定义与用法示例
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端