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

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Problème d'arborescence avec require_once( )

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Problème d'arborescence avec require_once( )

n°1603357
pot2yaourt
Posté le 24-08-2007 à 08:27:14  profilanswer
 

Bonjour à tous,
 
Voilà, j'ai un site avec, à sa racine, un fichier de config contenant tous les chemins vers les différentes librairies déclarés en constantes, ex: define("LIB_PDF", "lib/fpdf153/" );
 
Voici tout d'abord un petit aperçu de l'arborescence du site pour mieux comprendre :  
 
racine du site / config.php
racine du site / répertoireX / répertoireY / toto.php
racine du site / lib / fpdf153 / lib.php
 
Dans chacune de mes pages j'appelle le fichier de config via "require_once" en lui précisant correctement le chemin, ex: require_once("../../config.php" );
 
Le problème se pose lors je veux appeller le fichier "lib.php" depuis le fichier "toto.php". Dans "toto.php" j'appelle donc mon fichier de config comme ci-dessus : require_once("../../config.php" );
Du coup, je devrais accéder à la lib FPDF en rajoutant "../../" comme ceci : "../../".LIB_PDF
 
N'y aurait-il pas une meilleure façon de faire ? Par exemple, en déclarant autrement mes constantes dans le fichier de config afin qu'elles soient accessible de partout sans se soucier du chemin ?
 
Pour info, je n'ai pas accès au serveur ou à la config Apache, donc impossible pour moi de créer des alias ou des choses comme ça.
 
Merci d'avance pour vos réponses !
Lionel.


Message édité par pot2yaourt le 28-08-2007 à 20:51:41
mood
Publicité
Posté le 24-08-2007 à 08:27:14  profilanswer
 

n°1603409
sielfried
Posté le 24-08-2007 à 10:22:36  profilanswer
 

Code :
  1. define('ROOT_DIR', $_SERVER['DOCUMENT_ROOT']); // supposition (tu peux aussi travailler dans un sous-répertoire)
  2. define('FPDF_DIR', ROOT_DIR . '/lib/fpdf153');
  3.  
  4. // toto.php:
  5. require ROOT_DIR . '/config.php';
  6. require FPDF_DIR . '/lib.php';


 
Si tu veux utiliser des chemins relatifs, il est recommandé d'utiliser dirname(__FILE__) avant le chemin, ce qui t'assure qu'il sera juste dans tous les cas de figure, et donc aussi lorsque le fichier incluant est déjà lui-même inclus dans un autre.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1605494
pot2yaourt
Posté le 28-08-2007 à 20:51:21  profilanswer
 

sielfried a écrit :


Si tu veux utiliser des chemins relatifs, il est recommandé d'utiliser dirname(__FILE__) avant le chemin, ce qui t'assure qu'il sera juste dans tous les cas de figure, et donc aussi lorsque le fichier incluant est déjà lui-même inclus dans un autre.


 
J'ai utilisé dirname(__FILE__) mais le seul petit problème c'est que je développe sous Windows et que le serveur de prod. se trouve, lui, sous Linux.  
 
Du coup, pour le répertoire qui contient mes classes j'ai défini les constantes ci-dessous :

Code :
  1. define("ROOT_DIR", dirname(__FILE__));  //la racine du site
  2. define("CLASS_PATH", ROOT_DIR."\\class\\" ); //le répertoire qui contient les classes


Et j'obtiens donc : F:\Workspace\SiteInternet\class\
 
Par contre, une fois sur le serveur, je devrais bien penser à remplacer les \\ en / lorsque je déclare mes constantes.
 
En tous cas merci pour le coup de main !!
A+
Lionel.

n°1605497
sielfried
Posté le 28-08-2007 à 21:02:30  profilanswer
 

Utilise / dans tous les cas, ça marche sous Windows.


Message édité par sielfried le 28-08-2007 à 21:02:38

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1605587
omega2
Posté le 29-08-2007 à 09:53:47  profilanswer
 

Plus précisément, utilise '/' pour les chemins utilisé uniquement dans les instructions php et la constante 'DIRECTORY_SEPARATOR' quand tu fais appel à d'autres programmes ('exec()' et autres instruction du genre)


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

  [Résolu] Problème d'arborescence avec require_once( )

 

Sujets relatifs
Problème pour une mise en page sous forme de tableauProblème avec swfObject
probleme de structure[SQL] Probleme avec ORDER BY
Probleme de lien : ok en swf mais pas dans le navigateurarborescence et comptage de fichiers selon extension
probleme avec creation de table sql mayadmin[RESOLU] Display None/Block
Problème de condition 
Plus de sujets relatifs à : [Résolu] Problème d'arborescence avec require_once( )


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