Phar::interceptFileFuncs

(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)

Phar::interceptFileFuncsУказывает phar перехватывать fopen, file_get_contents, opendir и все stat-функции

Описание

final public static void Phar::interceptFileFuncs ( void )

Указывает phar перехватывать fopen(), readfile(), file_get_contents(), opendir() и все stat-функции. Если какая либо из этих функций будет вызвана из phar-архива с относительным путем, то вызов будет модифицирован для доступа к содержимому архива. В случае с абсолютными путями будут работать штатные функции доступа к файловой системе.

Эта функция позволяет писать приложения работающие не привязанные к жесткому диску.

Список параметров

No parameters.

Возвращаемые значения

Примеры

Пример #1 Пример использования Phar::interceptFileFuncs()

<?php
Phar
::interceptFileFuncs();
include 
'phar://' __FILE__ '/file.php';
?>

Предположим, что у нас есть /path/to/myphar.phar и в нем содержатся файлы file.php и file2.txt. file.php содержит такой код:

Пример #2 Пример использования Phar::interceptFileFuncs()

<?php
echo file_get_contents('file2.txt');
?>

В обычном режиме, PHP будет искать file2.txt в текущей директории, являющейся директорией запуска file.php, либо текущей директорией в случае использования командной строки. Phar::interceptFileFuncs() укажет PHP, что текущая директория - это phar:///path/to/myphar.phar/ и, для примера выше, будет открыт файл phar:///path/to/myphar.phar/file2.txt.