PHP Conference Japan 2024

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 归档文件中使用相对路径调用这些函数中的任何一个,则该调用将被修改为访问 phar 归档文件中的文件。绝对路径被认为是尝试从文件系统加载外部文件。

此函数使能够将设计为在硬盘上运行的 PHP 应用程序作为 phar 应用程序运行。

参数

无参数。

返回值

示例

示例 #1 一个 Phar::interceptFileFuncs() 示例

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

假设此 phar 位于 /path/to/myphar.phar 并且它包含 file.phpfile2.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