Bonjour à tous,
J'ai une page PHP (appelons-là page_1.php) qui en include une autre (page_2.php) qui en include une troisième (page_3.php).
leur position dans les répertoires est la suivante :
/www/page_1.php
/www/includes/page_2.php
/www/lang/page_3.php
J'aime utiliser les chemins relatifs pour les inclusions, donc dans page_2.php je voudrais bien avoir un truc du genre
Code :
- include ("../lang/page_3.php" );
|
Le problème est que comme page_2.php elle-même est include dans page_1, c'est là que le chemin relatif commence et donc pour ma page_3 je dois en vérité écrire :
Code :
- include ("./lang/page_3.php" );
|
J'ai trouvé une manière de contourner le problème : la directive include_path dans mon php.ini. J'y définis mes répertoires /includes et /lang en absolu et ça marche; j'ai le résultat escompté mais je n'aime pas beaucoup cette solution car elle nuit à la portabilité et la réusabilité du site (si par exemple je veux créer une copie dans /www/test, je dois aller redéfinir tous mes chemins absolus dans php.ini).
Je voulais donc savoir s'il existait une manière de faire comprendre à include() ou require() d'aller voir la page à inclure (page_3.php) sur le chemin relatif à la page elle-même (page_2.php) et pas à la page (page_1.php) qui inclut cette page (page_2.php), si vous me suivez