Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
545 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  includes chemin relatif autre que include_path

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

includes chemin relatif autre que include_path

n°1579236
ZeBix
edit > preview
Posté le 26-06-2007 à 11:47:44  profilanswer
 

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 :
  1. 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 :
  1. 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 :)
 

mood
Publicité
Posté le 26-06-2007 à 11:47:44  profilanswer
 

n°1579254
kmeleon1
Ubuntu Forweeeeever
Posté le 26-06-2007 à 12:10:07  profilanswer
 

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 :)


---------------
.:: Kmeleon ::.
n°1579297
ZeBix
edit > preview
Posté le 26-06-2007 à 13:16:52  profilanswer
 

Merci pour ta proposition, j'avais même pas pensé à ça ;)
 
J'attends cependant de voir si d'autres ont d'autres idées .. :)

n°1579301
VenerZen
M - D - M
Posté le 26-06-2007 à 13:25:02  profilanswer
 

Et si tu configures apache pour tapper dans le répertoire "/www/test/", du coups tu peux rester sur des chemins absolus :/


---------------
"L'abus de modération, nuit gravement à la consommation"
n°1579305
ZeBix
edit > preview
Posté le 26-06-2007 à 13:30:09  profilanswer
 

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/ ...

n°1579410
VenerZen
M - D - M
Posté le 26-06-2007 à 15:52:33  profilanswer
 

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 :spamafote:


---------------
"L'abus de modération, nuit gravement à la consommation"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  includes chemin relatif autre que include_path

 

Sujets relatifs
Variable PATH[RESOLU]-[PHP] - Affichage de caractérfe bizard lors d'un include
Changer le path de la librairie standard[résolu] Problème d'include chez Free mais pas en local
Include.../ Attribution d'un n° par defaultEvitez les include() récursifs
[vba] variable Path dans SaveAs(...)Connaitre le chemin (path) courrant dans un HTA
Dijkstra/Chemin plus court avec horaire 
Plus de sujets relatifs à : includes chemin relatif autre que include_path


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR