Chemin absolu, mais pas tout à fait * pas taper * - 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 : Chemin absolu, mais pas tout à fait * pas taper * (/showthread.php?tid=2274) |
Chemin absolu, mais pas tout à fait * pas taper * - Plume - 13-01-2008 Bonsoir ! Bon, je vais être essayé d'être aussi clair que possible. Je développe un site dans lequel j'utilise les méthodes AJAT { Asynchronous Javascript And Text }. Seulement, dans un modèle MVC, les inclusions de pages posent un conflit. Par exemple, en gros, j'ai une page à la racine de mon site index.php qui inclue la page controller/index.php. Cette inclusion a lieu dans le bloc qui est mis à jour par la méthode AJAT. Ce qui donne ceci à peu près : [ index.php ] Code PHP :
Jusque là, tout va bien. Maintenant, si on entre un peu plus profondément dans l'inclusion, on commence à être en conflit. Par exemple, en gros toujours, dans la page controller/index.php, j'inclue la page controller/news.php. Ce qui nous donne : [ controller/index.php ] Code PHP :
Concernant controller/news.php, on se fiche de son contenu. Là, on trouve des soucis. Sans AJAT, l'inclusion d'inclusion se fait parfaitement. Avec la méthode AJAT, on a un conflit avec les chemins vers le fichier controller/news.php. AJAT, va chercher le fichier controller/news.php dans le dossier controller/. Conclusion, on cherche le fichier controller/controller/news.php qui n'existe évidemment pas. J'ai donc pensé à mettre les chemins absolus, mais l'inclusion ne marche pas. Cette fois-ci, je ne pense pas que ce soit à cause de AJAT, mais ne trouvant pas, je vous consulte. Quand je fais : Code PHP :
J'suis sur le cul, j'ai même fait ce petit test : Code PHP :
Code : /someone_test/class/MySQLDatabase.class.php Si on lit la première ligne qui correspond à l'appel à PHP_SELF, on voit bien que le chemin existe. Et MySQLResult.class.php est bel & bien dans le même dossier que MySQLDatabase.class.php, je peux vous l'assurer :] Merci par avance de l'aide que vous pourrez me donner. Moi, j'sais plus quoi faire .. Lex, faut aller dormir main'nant ! RE: Chemin absolu, mais pas tout à fait * pas taper * - naholyr - 13-01-2008 J'ai pas tout bien lu et il est tard, mais je crois avoir cerné un problème de dossier courant. J'utilise toujours Code PHP :
- de ne pas avoir de problème si ledit script est inclus dans un script qui a fait un vilain chdir() - de ne pas avoir de problème d'include_path et autre (des fois, il n'y a pas "." dans l'include_path, balot) - de ne pas avoir de problème de configuration quand je passe d'un DOCUMENT_ROOT à un autre En revanche, j'ai peur que dans ton souci il y ait des histoires d'url-rewriting ou de path_info (courant quand on applique le modèle MVC) et là ce serait une autre histoire. RE: Chemin absolu, mais pas tout à fait * pas taper * - NicoMSEvent - 13-01-2008 [mode ironique ON] Bon ben, mon petit, as-tu déjà visité le site du zéro? ^^ [mode ironique OFF] Il me semble que tu utilises un serveur windows, or, les chemins absolus que tu utilises sont pour UNIX! Utilises plutot Code : $path='C:/xampp/htdocs'; Edit : C'est le matin, j'ai pas encore pris mon café... je peux me tromper RE: Chemin absolu, mais pas tout à fait * pas taper * - Plume - 13-01-2008 NicoMSEvent, tu as raison. J'ai repensé à mon problème quand je me suis levé, et c'était ma conclusion. J'aurais dû aller dormir avant de vous ennuyer Naholyr, j'avais oublié dirname(__FILE__), j'ai utilisé $_SERVER[ 'DOCUMENT_ROOT' ] à la place. Le problème que tu soulèves concernant l'url-rewriting .. Uh ! J'préfère pas y penser tout de suite .. Merci pour votre participation & encore désolé pour le dérangement :oops: RE: Chemin absolu, mais pas tout à fait * pas taper * - naholyr - 13-01-2008 LexLxUs a écrit :Naholyr, j'avais oublié dirname(__FILE__), j'ai utilisé $_SERVER[ 'DOCUMENT_ROOT' ] à la place.Rien à voir hein Avec dirname(__FILE__) tu n'es dépendant de rien, avec DOCUMENT_ROOT tu es dépendant de la configuration du serveur (par exemple le jour où tu veux déplacer ton application dans un sous-dossier, ça marche plus). RE: [ Réglé ] Chemin absolu, mais pas tout à fait * pas taper * - Zamentur - 14-01-2008 et ben j'ai bien fait de lire ce topic j'avais pas pensé à dirname(_FILE_) jusqu'ici! RE: [ Réglé ] Chemin absolu, mais pas tout à fait * pas taper * - Plume - 15-01-2008 Merci Nah', je note. J'avais oublié Lex. |