gpt4 book ai didi

php - X-SendFile 有什么用?

转载 作者:可可西里 更新时间:2023-10-31 23:23:25 25 4
gpt4 key购买 nike

在四处询问和做一些研究后,似乎很多人真的在插入 X-Sendfile 作为从 PHP 脚本向基于浏览器的客户端提供大型可下载文件的首选方法。

我一直在研究的一些方法是:

  • 流式打开
  • 流式 cURL
  • file_get_contents
  • curl
  • X-发送文件

其中,大多数人告诉我 X-Sendfile 是最好的。

问题是,我正在尝试实现一种下载方法,它不仅能够处理大文件,而且在大多数服务器上都具有广泛的通用性,因为我正在编写的脚本将被许多其他服务器使用,而不仅仅是我自己的.

我的问题是:是什么让 X-Sendfile 变得如此出色?如果它这么好,为什么我没有听到很多关于它的消息,为什么它没有被更频繁地使用呢?最后,大多数典型的低预算共享网络主机是否支持 X-Sendfile?

谢谢!

最佳答案

它允许网络服务器以任何它认为是将文件发送到客户端的最佳方式发送文件。它还支持范围请求(即下载管理器和恢复),只要网络服务器支持它而无需为其编写一行代码。

但是,“典型的低预算共享网络主机”不太可能支持它。不过,考虑一下您是否真的想要瞄准他们;这通常还涉及支持过时的 PHP 版本、讨厌的配置(启用安全模式和/或 magic_quotes)以及缺少 PDO 等 PHP 模块(在最近的 PHP 版本中始终启用,但请参阅我之前的观点之一)。

将文件发送到客户端的任何其他方式都有缺点,即 PHP 需要读取它,然后将其作为字符串数据传递给网络服务器(与让 内核 写入相比效率不高整个文件到套接字)。当使用 file_get_contents 时,情况更糟 - 您将整个文件 读入内存,这根本没有必要。

关于php - X-SendFile 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11263486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com