Besoin d'aide sur require SVP
Hors ligneKawasakix Le 02/02/2007 à 00:14 Profil de Kawasakix Configuration de Kawasakix

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
Hors ligneD_plante Le 02/02/2007 à 00:24 Profil de D_plante Configuration de D_plante

Salut, essai : <?php require ('includes/menuhaut.inc'); ?>
--
Salut à tous !
Hors ligneKawasakix Le 02/02/2007 à 00:36 Profil de Kawasakix Configuration de Kawasakix

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
Hors ligneD_plante Le 02/02/2007 à 02:13 Profil de D_plante Configuration de D_plante

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 !
Hors ligneKawasakix Le 02/02/2007 à 08:53 Profil de Kawasakix Configuration de Kawasakix

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 ?
Hors ligneD_plante Le 02/02/2007 à 12:23 Profil de D_plante Configuration de D_plante

Sinon, tu as essayés le <?php include ('menuhaut.inc'); ?> ?
--
Salut à tous !
Hors ligneKawasakix Le 03/02/2007 à 09:39 Profil de Kawasakix Configuration de Kawasakix

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 ?
Hors ligneMax_lieb Le 03/02/2007 à 10:49 Profil de Max_lieb Configuration de Max_lieb

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...
Hors ligneJeanluc Le 03/02/2007 à 14:21 Profil de Jeanluc Configuration de Jeanluc

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
Hors ligneKawasakix Le 04/02/2007 à 23:28 Profil de Kawasakix Configuration de Kawasakix

Bonsoir,

Jean-Luc, je vais tester votre proposition demain.

En tous cas, merci pour vos réponses.
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels