是通过PHP下载文件还是通过直接链接更快?

时间:2011-12-20 10:57:01

标签: php performance pdf

我需要让用户下载一些文件(例如,PDF)。什么会更长:

  • 通过PHP(带有特定标题)发送此文件,
  • 或将其放在http公共文件夹中,并获取用户下载的公共链接(没有PHP帮助)?

在第一种情况下,原始文件可能位于私有区域中。 但我认为用PHP发送这个文件需要一些时间。

那么我如何衡量PHP花费的时间来发送文件以及它可以消耗多少内存?

P.S。在第一种情况下,当PHP发送标题和浏览器(如果安装了pdf插件)将尝试在浏览器中打开它,PHP仍在工作,还是在立即发送标题后推出整个文件?或者如果没有安装插件,浏览器会显示“另存为”对话框,PHP仍在工作?

2 个答案:

答案 0 :(得分:2)

如果您担心下载速度,那么它将会很少。

我想这取决于您的文件有多大,您希望有多少下载,以及您的文档是否应该公开访问,以及客户端的下载速度。

答案 1 :(得分:1)

PHP的主要问题是它消耗的内存 - 每个链接都会创建一个新进程,可能是8M - 20M,具体取决于你的脚本的功能,是否使用框架等。

出于兴趣,我编写了一个symfony应用程序来提供下载,并执行诸如并发限制,带宽限制等操作。如果您有兴趣查看代码,那就是here。 (我本身并没有许可,但如果你愿意,我很高兴能把它变成GPL3。)