(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
。