(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 归档文件中使用相对路径调用这些函数中的任何一个,则该调用将被修改为访问 phar 归档文件中的文件。绝对路径被认为是尝试从文件系统加载外部文件。
此函数使能够将设计为在硬盘上运行的 PHP 应用程序作为 phar 应用程序运行。
无参数。
示例 #1 一个 Phar::interceptFileFuncs() 示例
<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/file.php';
?>
假设此 phar 位于 /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
。