【发布时间】:2012-06-29 14:19:01
【问题描述】:
在四处询问和进行一些研究时,似乎很多人都在真正推动 X-Sendfile 作为从 PHP 脚本向基于浏览器的客户端提供大型可下载文件的首选方法。
我一直在研究的一些方法是:
- 流式 fopen
- 流式 cURL
- file_get_contents
- 卷曲
- X-Sendfile
其中,大多数人告诉我 X-Sendfile 是最好的。
问题是,我正在尝试实现一种下载方法,它不仅能够处理大文件,而且在大多数服务器上广泛通用,因为我编写的脚本将被许多其他服务器使用,而不仅仅是我自己的.
我的问题是:是什么让 X-Sendfile 变得更好?如果它这么好,为什么我没有听到很多关于它的消息,为什么没有更频繁地使用它?最后,大多数典型的低预算共享网络主机是否支持 X-Sendfile?
谢谢!
【问题讨论】:
-
没有理由不能通过配置提供多个下载选项。 Sendfile 是最好的,因为它不会占用 PHP 进程。
-
廉价的虚拟主机无法启用它,因为无法隔离对文件的未经授权的访问。它可以读取 lighttpd 进程可以读取的所有内容。虚拟服务器是您最少需要允许的。但是,是的,它是提供大文件的资源消耗最少且最灵活的方式。有时是唯一的选择,真的。
标签: php curl fopen x-sendfile