includes chemin relatif autre que include_path - PHP - Programmation
Marsh Posté le 26-06-2007 à 12:10:07
Jpense que si tu te débrouilles un peu avec quelques variables (genre un $dir dans chaque page) tu pourras te débrouiller pour qu'un include($dir ."page_x.php" ); marche. J'essaie de réfléchir à ça, mais jpense que c'est une bonne voie
Marsh Posté le 26-06-2007 à 13:16:52
Merci pour ta proposition, j'avais même pas pensé à ça
J'attends cependant de voir si d'autres ont d'autres idées ..
Marsh Posté le 26-06-2007 à 13:25:02
Et si tu configures apache pour tapper dans le répertoire "/www/test/", du coups tu peux rester sur des chemins absolus
Marsh Posté le 26-06-2007 à 13:30:09
VenerZen a écrit : Et si tu configures apache pour tapper dans le répertoire "/www/test/", du coups tu peux rester sur des chemins absolus |
Ah mais ça je ne peux pas faire ... si je fais une copie du site en /www/test, le site normal doit rester accessible par /www/ ...
Marsh Posté le 26-06-2007 à 15:52:33
ben pourquoi tu ne crées pas deux vhost ?un de dev/test et un de prod. Ca t'évite de passer par des liens relatif et ça t'évite un bordel monstrueux si ton site s'aggrandie..
Les include_path sont fait pour ça
Marsh Posté le 26-06-2007 à 11:47:44
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
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 :
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