problème avec Require - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : problème avec Require (/showthread.php?tid=3570) Pages :
1
2
|
problème avec Require - Klaad - 22-01-2009 Bonjour à tous ! J'ai actuellement un petit problème que je n'arrive pas à résoudre ... Voilà a quoi ressemble les fichiers de mon site. Citation :/Dossier 1 Le problème c'est que dans le fichier index_forum.php, je dois faire appel au menu_gauche.php qui est au même niveau, mais dans un autre dossier. Donc un simple Code PHP :
N'est pas utile .. Comment dois-je faire ? Ca peut paraitre con comme question :p Mais je suis bloqué ^^ Merci beaucoup RE: problème avec Require - Adrien A. - 22-01-2009 Code PHP :
Les répertoires spéciaux '.' et '..' permettent respectivement d'accéder au répertoire courant, et au répertoire parent. Bonne chance. RE: problème avec Require - sulu_03 - 22-01-2009 Oui, c'est un truc tout bête mais que je n'ai compris que récemment : base/rep1/rep2/fichier.php base/inclure.php Si tu as l'arborescence si dessus, tu peux ecrire dans fichier.php : include '../../inclure.php'; PS : Rien à voir mais Adrien, je t'ai envoyé un MP RE: problème avec Require - keke - 22-01-2009 tu peux même enchainer à volonté : ../../../../.. en plus, si tu es ici : /rep/index.php et que tu as un fichier là : /fonction.php le lien ../../../../../fonction.php te permet de retrouver tout de même fonction.php ^^ (bon c'est crade). Mais en gardant un principe tout simple pour ne pas se perdre dans ton arborescence, c'est de placer un fichier flag à la racine, et de remonter d'un niveau jusqu'à atteindre ce fichier. Quand tu l'as, tu es sûr de ta position. kéké RE: problème avec Require - Allwise - 22-01-2009 Si tous les fichiers que tu dois inclure dans tes scripts se trouvent dans le répertoire include, tu peux redéfinir dynamiquement la directive php include_path, de sorte que php aille directement chercher tes fichiers là-dedans. Ainsi, tu écrirais quelque part, au début de tes scripts ( dans un fichier de configuration chargé à chaque fois par exemple ) : Code PHP :
Et à partir de n'importe où dans ton arborescence, l'appel à un fichier se trouvant dans ton répertoire include marchera Code PHP :
Une autre solution serait d'utiliser le chemin absolu plutôt que le chemin relatif : Code PHP :
RE: problème avec Require - Anthor - 23-01-2009 (22-01-2009, 11:36 PM)Allwise a écrit : Une autre solution serait d'utiliser le chemin absolu plutôt que le chemin relatif : En surtout plus pratique pour éviter les globals et pour ne pas se tromper ^^ Code PHP :
Ou en inversant ta solution ce qui est encore mieux car les fichiers sont cherchés dans l'ordre des chemins et tu as plus de chances d'inclure des fichiers dans ton répertoire que dans les autres : Code PHP :
RE: problème avec Require - Allwise - 23-01-2009 Ouaip, c'est mieux, mais mon bout de code n'était là que pour l'exemple, pas comme la solution finale Si on donne la solution au problème c'est pas marrant iffle: RE: problème avec Require - Klaad - 25-01-2009 Merci à tous pour vos réponses, ça m'est très utile Merci !!! RE: problème avec Require - Cartman34 - 27-01-2009 De manière générale, soit tu conserves un lien absolu vers la racine, soit pour chaque fichier de chaque répertoire, tu définis une variable concaténer à ton adresse afin qu'elle définisse le chemin à suivre. RE: problème avec Require - Argorate - 27-01-2009 Personnellement je ne suis pas de cette avis, tu te fais chier pour rien a rester en chemin absolue. Avec un chemin relatif ça marchera dans tous les cas et pas besoin de créer une variable et de la concaténer a chaque fois: je trouve que c'est une perte de temps, mais ça n'engage que moi. |