(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::interceptFileFuncs — Указывает phar перехватывать fopen, file_get_contents, opendir и все stat-функции
Указывает 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
.