Include dans un include [php] - PHP - Programmation
Marsh Posté le 09-04-2007 à 18:51:34
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
Marsh Posté le 09-04-2007 à 19:02:32
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
Marsh Posté le 09-04-2007 à 20:52:22
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
Marsh Posté le 09-04-2007 à 21:00:08
Ou sinon tu peux utiliser la technique secrète de Bibi :
class.php
include(dirname(__FILE__).'/../repA/config.php');
Marsh Posté le 10-04-2007 à 08:11:18
flo850 a écrit : le fichier de conf n'inclu rien |
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
Marsh Posté le 10-04-2007 à 08:24:05
Le_nain a écrit : Ou sinon tu peux utiliser la technique secrète de Bibi : |
ha merci, c'est pas mal ça !
Marsh Posté le 10-04-2007 à 21:30:21
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
Marsh Posté le 09-04-2007 à 18:25:11
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
Fichier admin.php
Fichier class.php
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