7

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

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

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

但我想这不是一条路要走。

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

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

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

4

1 回答 1

7

但我想这不是一条路要走。

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

您可能会发现PHAR 扩展上的 PHP 手册页很有用,而且webPhar方法特别有启发性。 interceptFileFuncs也可以很方便。

于 2011-07-21T21:55:06.023 回答