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

  FORUM HardWare.fr
  Programmation
  PHP

  [php] Include dans un include

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] Include dans un include

n°1540445
Combi_A_Ve​ndre
Posté le 09-04-2007 à 18:25:11  profilanswer
 

Bonjour à tous,
 
J'ai organisé mon site avec différents répertoire.
Le problème est que l'include se fait par rapport au répertoire depuis lequel le fichier est inclus et non depuis le répertoire où se trouve le fichier comme en C. Donc, si on veut faire un include d'un fichier qui en inclus un autre, le premier ne marchera que depuis un seul répertoire.
 
Je m'explique :
\index.php
\repA\config.php
\repB\admin.php
\repC\class.php
 
Fichier index.php

Code :
  1. include('./repC/class.php');
  2. ....


 
Fichier admin.php

Code :
  1. include('../repC/class.php');
  2. ....


 
Fichier class.php

Code :
  1. //C'est ici que le problème se pose
  2. // Si l'inclusion se fait depuis index.php, il faudrait mettre :
  3. include('./repA/config.php');
  4. //Et si l'inclusion se fait par admin.php, il faut mettre :
  5. include('../repA/config.php');
  6. ....


 
Je vois plusieurs méthodes pour régler ce problème :
1 - Définir des variables globales définissant les chemins dans chaque fichier (berk)
2 - Définir les chemins en absolu et pas en relatif. Pas très pratique et rajoute de la lourdeur à l'installation.
 
Connaissez vous une méthode propre et pratique pour faire ça en php(5) ?
 
Merci,
vw


---------------
The best way to accelerate a computer running windows is at 9.8m.s-2
mood
Publicité
Posté le 09-04-2007 à 18:25:11  profilanswer
 

n°1540453
flo850
moi je
Posté le 09-04-2007 à 18:51:34  profilanswer
 

tu definis le chemin absolu dans une variable , stockée dans un fichier de configuration clairement identifiable
 
et tu utilise cette variable dans tes includes

n°1540457
Combi_A_Ve​ndre
Posté le 09-04-2007 à 19:02:32  profilanswer
 

Oui, mais ça veut dire que ce fichier de configuration ne peut pas inclure d'autre fichier.
Et puis si un fichier fait un include de ce fichier de conf, ben ça ne marchera pas si il est lui même inclus dans un autre fichier d'un répertoire différent.
Et ce n'est pas très objet, mais je n'arrive pas à trouver une autre méthode.

 

vw


Message édité par Combi_A_Vendre le 09-04-2007 à 20:06:28
n°1540488
flo850
moi je
Posté le 09-04-2007 à 20:52:22  profilanswer
 

le fichier de conf n'inclu rien  
le fichier de conf est a un endroit précis, fixe, facilement localisable par tous les fichiers qui en ont besoins
 
le fichier de conf  est inclu systématiquement au debut du script

n°1540493
Le_nain
Posté le 09-04-2007 à 21:00:08  profilanswer
 

Ou sinon tu peux utiliser la technique secrète de Bibi :
 
class.php
include(dirname(__FILE__).'/../repA/config.php');

n°1540560
Combi_A_Ve​ndre
Posté le 10-04-2007 à 08:11:18  profilanswer
 

flo850 a écrit :

le fichier de conf n'inclu rien  
le fichier de conf est a un endroit précis, fixe, facilement localisable par tous les fichiers qui en ont besoins
 
le fichier de conf  est inclu systématiquement au debut du script


 
Ben oui, mais ce fichier ne pourra pas être inclus dans un fichier qui est lui même inclus dans un autre. Par exemple une classe mère et une classe fille qui sont dans deux répertoires différents.
 
vw

n°1540564
Combi_A_Ve​ndre
Posté le 10-04-2007 à 08:24:05  profilanswer
 

Le_nain a écrit :

Ou sinon tu peux utiliser la technique secrète de Bibi :
 
class.php
include(dirname(__FILE__).'/../repA/config.php');


 
ha merci, c'est pas mal ça !

n°1541005
Le_nain
Posté le 10-04-2007 à 21:30:21  profilanswer
 

En fait, petite explication quand même :
dirname(__FILE__) te ramènes dans le dossier du fichier actuellement parsé. Tu te déplaces donc relativement au fichier courant (actuellement parsé), et le problème disparait :)


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

  [php] Include dans un include

 

Sujets relatifs
include() et meta tags[PHP] Fonction include dreamweaver
fatal error RC1015: cannot open include file 'afxres.h'[PHP] Questions sur le "include"
Pb d'includegetURL("Javascript.... et include
Résultat code PHP dans une variable --> include ?probleme include et session
[D6] include : quelle syntaxe ?passer un parametre avec un include
Plus de sujets relatifs à : [php] Include dans un include


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