PHP Conference Nagoya 2025

Phar::interceptFileFuncs

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

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

Описание

final public static 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.

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top