(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::interceptFileFuncs — Indica a phar que debe interceptar las funciones de archivos
Indica a phar que debe interceptar fopen(), readfile(), file_get_contents(), opendir() y todas las funciones relativas a stat. Si cualquiera de estas funciones es llamada desde el archivo phar con una ruta relativa, la llamada es modificada para acceder a un archivo dentro del archivo. Las rutas absolutas se asumen como intentos de carga de archivos externos desde el sistema de archivos.
Esta función permite la ejecución de aplicaciones PHP diseñadas para ser lanzadas fuera de un disco duro, como aplicación phar.
No se proporcionan argumentos.
Ejemplo #1 Ejemplo con Phar::interceptFileFuncs()
<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/fichero.php';
?>
Suponiendo que este phar se llama /ruta/hacia/monphar.phar
y contiene
fichero.php
y
fichero2.txt
, si fichero.php
contiene este código:
Ejemplo #2 Un ejemplo con Phar::interceptFileFuncs()
<?php
echo file_get_contents('fichero2.txt');
?>
Normalmente, PHP buscaría en el directorio actual el archivo llamado file2.txt
,
es decir, en el directorio de fichero.php o el directorio actual del usuario de la línea
de comandos. Phar::interceptFileFuncs() indica
a PHP que considere phar:///ruta/hacia/monphar.phar/
como directorio actual
y así abre en el ejemplo anterior el archivo phar:///ruta/hacia/monphar.phar/fichero2.txt
.