Problème d'arborescence avec require_once( ) [Résolu] - PHP - Programmation
Marsh Posté le 24-08-2007 à 10:22:36
Code :
|
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.
Marsh Posté le 28-08-2007 à 20:51:21
sielfried a écrit : |
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 :
|
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.
Marsh Posté le 28-08-2007 à 21:02:30
Utilise / dans tous les cas, ça marche sous Windows.
Marsh Posté le 29-08-2007 à 09:53:47
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)
Marsh Posté le 24-08-2007 à 08:27:14
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