Статический контент внутри phar-архива - PullRequest
7 голосов
/ 22 июля 2011

Мне было просто интересно, разрешено ли добавлять статический контент в 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 Ответ

7 голосов
/ 22 июля 2011

но я думаю, что это не тот путь.

Поскольку единственное, что может заглянуть внутрь phars, это PHP, то, что PHP извлекает содержимое и выдает результат, в значительной степени является только способом.

Вы можете найти справочную страницу PHP по расширению PHAR полезной, а webPhar метод особенно полезной. interceptFileFuncs также может пригодиться.

...