phar档案中的静态内容

时间:2011-07-21 21:48:27

标签: php phar

我只是想知道将静态内容添加到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存根中的这些功能使它看起来透明。

1 个答案:

答案 0 :(得分:7)

  

但我想这不是一种方法。

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

您可能会发现the PHP manual page on the PHAR extension有用,而the webPhar method尤其具有启发性。 interceptFileFuncs也可以派上用场。