(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::interceptFileFuncs — Informe phar qu'il doit intercepter les fonctions de fichiers
Informe phar d'intercepter fopen(), readfile(), file_get_contents(), opendir() et toutes les fonctions relatives à stat. Si n'importe laquelle de ces fonctions est appelée depuis l'archive phar avec un chemin relatif, l'appel est modifié pour accéder à un fichier au sein de l'archive. Les chemins absolus sont supposés être des tentatives de chargement de fichiers externes à partir du système de fichiers.
Cette fonction rend possible l'exécution d'applications PHP conçues pour être lancées en dehors d'un disque dur, en tant qu'application phar.
Aucun paramètre.
Exemple #1 Exemple avec Phar::interceptFileFuncs()
<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/fichier.php';
?>
En supposant que ce phar est nommé /chemin/vers/monphar.phar
est qu'il
contient fichier.php
et
fichier2.txt
, si fichier.php
contient ce code :
Exemple #2 Un exemple avec Phar::interceptFileFuncs()
<?php
echo file_get_contents('fichier2.txt');
?>
Normalement, PHP chercherait dans le répertoire courant le fichier nommé file2.txt
,
c'est à dire dans le répertoire de fichier.php ou le répertoire courant de l'utilisateur de la ligne
de commande. Phar::interceptFileFuncs() dit à
PHP de considérer phar:///chemin/vers/monphar.phar/
comme répertoire courant
et ainsi ouvre dans l'exemple ci-dessus le fichier phar:///chemin/vers/monphar.phar/fichier2.txt
.