Phar::interceptFileFuncs
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
Phar::interceptFileFuncs — Informe phar qu'il doit intercepter les fonctions de fichiers
Description
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.
Exemples
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.
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-phar.interceptfilefuncs.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.