【问题标题】:Static content inside phar archivephar 存档中的静态内容
【发布时间】:2011-10-10 15:02:53
【问题描述】:

我只是想知道将静态内容添加到 phar 档案(图像、javascript 或 html 文件)是否合法。如果是这样,我如何让他们为客户服务?

目前我看到的唯一例子是:

<?php
header('Content-type: image/jpeg');
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>

但我想这不是一条路。

更新: 以防万一有人会尝试做同样的事情。这段代码集作为 phar 存档的存根对我有用:

<?php
    Phar::interceptFileFuncs();
    Phar::mungServer(array('REQUEST_URI'));
    Phar::webPhar();
    __HALT_COMPILER();
?>

phar 存档中的所有静态内容仍然通过 php 解释器,但至少不需要手动设置 header mime 类型和使用 readfile() 提供静态文件内容。 phar 存根中的那些函数使它看起来透明。

【问题讨论】:

    标签: php phar


    【解决方案1】:

    但我想这不是一条路。

    因为可以在 phars 中查看的唯一内容是 PHP,所以让 PHP 提取内容并回显结果几乎是唯一的方法。

    您可能会发现the PHP manual page on the PHAR extension 很有用,而the webPhar method 特别有启发性。 interceptFileFuncs 也很方便。

    【讨论】:

    • 不一定是唯一的方法,您仍然可以添加静态文件缓存并使用.htaccess 文件或发送x-sendfile 标头。我很好奇 phar 对大文件有什么作用,它是否通过将它们发送到输出来在内存中读取它们?他们是否有内存或超时问题?
    猜你喜欢
    • 2017-02-02
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 2015-10-04
    • 1970-01-01
    相关资源
    最近更新 更多