首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >下载然后上传PHP中的文件

下载然后上传PHP中的文件
EN

Stack Overflow用户
提问于 2009-09-08 05:32:10
回答 2查看 954关注 0票数 1

我需要使用PHP下载一个文件,然后将下载的文件上传给用户。

例如:

  1. 从test.com/test.zip下载文件
  2. 要么将文件缓存到磁盘,要么将流立即发送给用户。

如果可能的话,我如何使用curl来完成这个任务,或者如何使用普通的PHP (没有额外的库)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-08 08:28:00

使用echo(file_get_contents())将首先将文件加载到内存中,然后回显将文件输出给用户--因此,在开始向用户传递文件之前会出现延迟,因此有可能达到PHP的内存限制。

相反,readfile()将在从远程源下载数据块后立即提供给用户,然后在接收到它们时将其丢弃。它将使用更少的内存和下载将更快开始。

代码语言:javascript
运行
复制
header('Content-Type: application/zip');
readfile('http://test.com/test.zip');
票数 4
EN

Stack Overflow用户

发布于 2009-09-08 05:50:53

代码语言:javascript
运行
复制
header("Content-Type: application/zip"); // correct? not sure.
echo(file_get_contents("http://test.com/test.zip"));

除非我错过了你想做的事..。如果要缓存它,可以分离调用,并将file_get_contents的结果存储在某个地方。此调用的结果是文件作为字符串。echo只是将它再次打印回浏览器。header用于告诉浏览器这个文件实际上是一个zip文件,而不是一个html文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1392154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档