Kawasakix |
Le 02/02/2007 à 00:14  |
|
Bonjour Mon problème doit être simple et va surement vous faire sourire mais je ne trouve pas la solution ( je débute vraiment en php) J'ai créé des fichiers en .inc que je désire appeler par la fonction require suivante : <?php require ('menuhaut.inc'); ?>Quand le fichier contenant cette fonction et le fichier "menuhaut.inc" se trouvent sur le même niveau, tout fonctionne. Où cela se gâte, c'est lorsque j'applique cette commande dans un fichier situé trois niveaux en dessous dans l'arborescence car il ne trouve plus le fichier "menuhaut.inc" et pour cause. J'aurais juste quelques fichiers à modifier, je ferai à la main la modif du chemin avec des ../../../ etc... Mon problème est que j'ai des centaines de fichiers à mettre à jour sur une dizaine de niveaux d'arborescence ! Ma question est donc simple et je suis persuadé qu'il existe une réponse simple : comment appeler avec la commande require un fichier "menuhaut.inc" se trouvant dans le répertoire : http://www.monsite.com/includes/ et ce, quelque soit le niveau ou l'on se trouve ? Je vous remercie d'avancepour votre aide précieuse  |
D_plante |
Le 02/02/2007 à 00:24  |
|
Salut, essai :
<?php require ('includes/menuhaut.inc'); ?>
-- Salut à tous ! |
Kawasakix |
Le 02/02/2007 à 00:36  |
|
Merci pour cette réponse mais cela fonctionne uniquement lorsque je suis au niveau juste au dessus du répertoire "includes". Quand je descends 2 ou 3 niveaux plus bas, cela ne marche pas, il ne trouve pas le fichier...  En gros, il faudrait pouvoir déclarer un chemin et pouvoir y accèder de n'importe quel niveau par une commande qui irait à chaque fois chercher directement à cet endroit, du genre : le fichier est à cet endroit et ma commande va le chercher directement à cet endroit et non pas par des liens relatifs (../../../) Merci tout de même |
D_plante |
Le 02/02/2007 à 02:13  |
|
Bon,ça ne fonctionne pas... uhm... ??? Tu as essayés de faire
<?php require ('ton_premier_chemin/ton_deuxieme_chemin/ton_troisieme_chemin/menuhaut.inc'); ?>
??? Sinon bah je ne sais pas trop quoi de suggérer d'autre  désolé... -- Salut à tous ! |
Kawasakix |
Le 02/02/2007 à 08:53  |
|
Bonjour, Si, bien sur cela peut fonctionner ainsi, mais comme j'ai plus de 2000 pages à modifier, je ne me sens pas de les faire une par une avec les risques d'erreurs que cela implique. C'est pour cela que je cherchais un moyen de déclarer un chemin fixe pour ces fichiers, appelés ensuite par la commande require. En imageant, il me serait plus facile d'écrire sur toutes les pages : toto habite à cet endroit et pouvoir ainsi aller le chercher plutôt que toto habite la deuxième à gauche puis tout droit, ensuite la deuxième à droite au fond de la cour ou au fond à droite au troisième étage suivant les cas et avoir ainsi un chemin différent suivant l'arborescence.  J'espère que cette explication imagée me fera mieux comprendre car il est difficile d'être clair et concis lorsque l'on ne maîtrise pas un sujet. Merci encore pour ton aide en espérant que quelqu'un apportera peut être une réponse à ma question ?  |
D_plante |
Le 02/02/2007 à 12:23  |
|
Sinon, tu as essayés le
<?php include ('menuhaut.inc'); ?>
? -- Salut à tous ! |
Kawasakix |
Le 03/02/2007 à 09:39  |
|
Bonjour,
Le problème ne vient pas de require ou d'include mais de pouvoir l'appeler quand on n'est pas au même niveau d'arborescence sans passer par un chemin style ../../../menuhaut mais en déclarant un dossier include ou j'aurais accés de n'importe quel niveau. Je ne sais pas si je m'explique bien...
Merci encore pour ta patience. Quelqu'un d'autre peut-il me venir en aide ? |
Max_lieb |
Le 03/02/2007 à 10:49  |
 |
Salut. Pourquoi ne pas remplacer <?php require ('menuhaut.inc'); ?> par <?php require ('menuhaut.php'); ?>et dans le fichier menuhaut.php, tu mets <?php require ('menuhaut.inc'); ?>. ensuite, tu copie menuhaut.php dans chaque repertoire. et si tu veux modifier le menuhaut.inc, tu n'en a qu'un a modifier. voila. c'est chiant a faire, mais a la fin c'est plus facile a gerer. a+ Apres reflection et essais, je m'aperçois que ce que j'ai dis est stupide... pas grave. désolé -- si ce que tu as a dire n'est pas aussi beau que le silence, ferme la... |
Jeanluc |
Le 03/02/2007 à 14:21  |
|
Bonjour, pourquoi ne pas mettre le chemin réel genre " /home/domains/mon_domaine.com/public_html/includes/menuhaut.inc" ? Vous pouvez le connaitre en mettant =>echo "path: $DOCUMENT_ROOT"<= dans un fichier .php
JeanLuc |
Kawasakix |
Le 04/02/2007 à 23:28  |
|
Bonsoir,
Jean-Luc, je vais tester votre proposition demain.
En tous cas, merci pour vos réponses. |