首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP -如何确定X-Sendfile是否可用并已安装?

PHP -如何确定X-Sendfile是否可用并已安装?
EN

Stack Overflow用户
提问于 2012-09-02 12:25:00
回答 4查看 9K关注 0票数 6

基本上,我想发送一个头X-Sendfile到浏览器来发送一个文件,但是如果X-Sendfile不可用或者没有安装在服务器上,我不想调用它。如何在PHP中检查此问题??或者如果这是不可能在PHP中检查的,那么如何检查它的安装期?我宁愿在PHP中检查X-Sendfile的存在,因为这样做对我来说更容易,因为这是将在其他站点和服务器上运行的包的一部分……也许如果我只是将它与PHP header函数一起使用,如果没有安装它,它会返回一些东西??

谢谢大家:)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-09-02 12:35:21

APACHE模块mod_xsendfile处理X-Sendfile标头

要检查APACHE模块mod_xsendfile是否可用并安装在服务器上,可以使用apache_get_modules()函数。

您不能只设置头并检查模块是否已安装。

票数 6
EN

Stack Overflow用户

发布于 2012-09-02 12:35:22

要获取apache模块的列表并查看x-sendfile是否在列表中,可以使用http://php.net/manual/en/function.apache-get-modules.php。如果未安装,x-sendfile头文件将到达浏览器,如果已安装,则模块将过滤掉头文件。

票数 1
EN

Stack Overflow用户

发布于 2012-09-02 15:51:43

试试这个:

代码语言:javascript
复制
    if (in_array('mod_xsendfile', apache_get_modules())) {
        header("X-Sendfile: $file");
    } else {
        error_log("Warning! mod-xsendfile is NOT INSTALLED - sending file the old fashion way.....");
        header('Content-Length: ' . filesize($file) );
        print file_get_contents($file);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12233386

复制
相关文章

相似问题

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