我只是想知道将静态内容添加到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存根中的这些功能使其看起来透明.
but I guess this is not a way to go.
因为在phars中唯一可以看到的是PHP,让PHP提取内容并回显结果几乎是唯一的方法.
您可能会发现the PHP manual page on the PHAR extension有用,而the webPhar
method尤其具有启发性. interceptFileFuncs
也可以派上用场.