Require / include
Résolu/Fermé
Lankou79
Messages postés
13
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
12 août 2010
-
19 sept. 2009 à 19:47
Lankou79 Messages postés 13 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 12 août 2010 - 22 sept. 2009 à 21:46
Lankou79 Messages postés 13 Date d'inscription samedi 19 septembre 2009 Statut Membre Dernière intervention 12 août 2010 - 22 sept. 2009 à 21:46
A voir également:
- Require / include
- Netframe 3.5 include 2.0 and 3.0 download offline - Forum Windows 8 / 8.1
- Include en html ✓ - Forum HTML
- If you do so, please include this problem report. you can delete your own text from the attached returned message. ✓ - Forum Mail
- Problème d'include ✓ - Forum PHP
- #Include stdio.h ✓ - Forum Programmation
10 réponses
En creusant un peu la doc, je viens d'apprendre quelque chose
Tu peux modifier la variable de configuration include_path avec la fonction ini_set
Si tu mets dedans le chemin "qui va bien", tu peux ensuite faire des include sans avoir besoin de rappeler les chemins des fichiers inclus
Tu dois pouvoir vérifier si le script que tu as marchait comme ça, mais il y a de fortes chances
Tu peux modifier la variable de configuration include_path avec la fonction ini_set
Si tu mets dedans le chemin "qui va bien", tu peux ensuite faire des include sans avoir besoin de rappeler les chemins des fichiers inclus
Tu dois pouvoir vérifier si le script que tu as marchait comme ça, mais il y a de fortes chances
Bonjour
Je ne pense pas qu'Apache y soit pour grand chose. Un include PHP est une histoire de fichiers, géré par le système de fichiers de l'ordinateur, pas par le serveur web.
Le comportement que tu décris s'explique si monfichier2.php est lui-même inclus dans un fichier qui est dans le même dossier que monfichier.php. Car le répertoire courant qui sert pour les adressages relatifs est déterminé par le script appelé et reste le même quand on "entre" dans les include.
Je ne pense pas qu'Apache y soit pour grand chose. Un include PHP est une histoire de fichiers, géré par le système de fichiers de l'ordinateur, pas par le serveur web.
Le comportement que tu décris s'explique si monfichier2.php est lui-même inclus dans un fichier qui est dans le même dossier que monfichier.php. Car le répertoire courant qui sert pour les adressages relatifs est déterminé par le script appelé et reste le même quand on "entre" dans les include.
Lankou79
Messages postés
13
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
12 août 2010
19 sept. 2009 à 22:09
19 sept. 2009 à 22:09
Merci pour ta réponse.
Mais en faite, le fichier à inclure se trouve dans un dossier en l'autre fichier dans un autre. Le truc c'est que dans le dernier, il est écrit require_onde('monfichier.php'). Moi j'écrirai plutôt requi_once('../include/monfichier.php')
en disant que mon fichier à inclure se trouve dans /include.
Mais en faite, le fichier à inclure se trouve dans un dossier en l'autre fichier dans un autre. Le truc c'est que dans le dernier, il est écrit require_onde('monfichier.php'). Moi j'écrirai plutôt requi_once('../include/monfichier.php')
en disant que mon fichier à inclure se trouve dans /include.
J'avais bien compris ce que tu voulais dire.
Le scipt appelé était bien monfichier2.php, ou bien monfichier2.php était-il lui-même inclus dans un autre script ?
Le scipt appelé était bien monfichier2.php, ou bien monfichier2.php était-il lui-même inclus dans un autre script ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
19 sept. 2009 à 22:38
19 sept. 2009 à 22:38
si j'ai bien tout compris tu fait un include qui ne fonctionne pas ???
Comme le dis tres justement le père , apache n'y est absolument pour rien.Ce n'est qu'une question de chemin
dans la page ou tu a besoins de ton include tu met simplement
ca c'est une solution à la sauvage, tu a une autre solution plus propre , faire un fichier fonctions.php dans lequel tu met toutes tes fonctions
et a chaque debut de script tu n'appelle qu'un seul fichier..fonctions.php
Comme le dis tres justement le père , apache n'y est absolument pour rien.Ce n'est qu'une question de chemin
dans la page ou tu a besoins de ton include tu met simplement
require_once('monfichier1.php'); require_once('monfichier2.php'); etc...
ca c'est une solution à la sauvage, tu a une autre solution plus propre , faire un fichier fonctions.php dans lequel tu met toutes tes fonctions
et a chaque debut de script tu n'appelle qu'un seul fichier..fonctions.php
require_once('fonctions.php');
Lankou79
Messages postés
13
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
12 août 2010
19 sept. 2009 à 23:15
19 sept. 2009 à 23:15
Je suis d'accord avec toi lewis34 mais le truc en faite, c'est que j'ai un dossier include avec function.php par exemple. Ensuite, j'ai un dossier script qui contient lui même un dossier contact et un dossier aganda par exemple. C'est deux derniers dossiers contient des fichier.php qui doivent inclure function.php.
Le truc c'est que j'ai déja vu des fichier php avec seulement require_once('function.php') alors qu'il est dans un autre dossier. Normalement, il faudrai faire requi_once('../../include/function.php') pour que cela fonctionne.
/include et /script se trouvent au même niveau d'arborescence.
Le truc c'est que j'ai déja vu des fichier php avec seulement require_once('function.php') alors qu'il est dans un autre dossier. Normalement, il faudrai faire requi_once('../../include/function.php') pour que cela fonctionne.
/include et /script se trouvent au même niveau d'arborescence.
Lankou79
Messages postés
13
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
12 août 2010
19 sept. 2009 à 23:52
19 sept. 2009 à 23:52
Voila c'est exactement ça que je voulais. Par contre, le chemin fonctionnera aussi bien pour include que pour require ?
Lankou79
Messages postés
13
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
12 août 2010
20 sept. 2009 à 01:11
20 sept. 2009 à 01:11
Bon voila j'ai suivi les indications que tu m'a donné et j'ai trouvé la solution.
Dans le fichier php.ini qui se trouve dans Apache2/bin/
Attention sous UNIX, c'est des '/' et pour Windows c'est des '\' dans le chemin.
Dans le fichier php.ini qui se trouve dans Apache2/bin/
;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;; ; UNIX: "/path1:/path2" ;include_path = ".:***** Le chemin du dossier qui contient tous les fichiers include.*****" ; ; Windows: "\path1;\path2" include_path = ".; ***** Le chemin du dossier qui contient tous les fichiers include.*****"
Attention sous UNIX, c'est des '/' et pour Windows c'est des '\' dans le chemin.
Je n'ai pas fait l'essai spécialement pour le include_path, mais toutes les commandes relatives aux chemins en Apache et PHP fonctionnent aussi bien avec / qu'avec \ pour windows. C'est étonnant qu'il y ait besoin d'une distinction à ce niveau là. As-tu fait l'essai ?
Lankou79
Messages postés
13
Date d'inscription
samedi 19 septembre 2009
Statut
Membre
Dernière intervention
12 août 2010
22 sept. 2009 à 21:46
22 sept. 2009 à 21:46
Non effectivement, il ne fait pas distinction. Avant que je modifie le script php.ini, le chemin pour Windows était avec '\' donc j'en au conclu qu'il fallait les utiliser. Souvent on a des problèmes à cause de ça.
En tout cas, j'ai trouvé la réponse à ma question avec ton aide. Je te remercie.
En tout cas, j'ai trouvé la réponse à ma question avec ton aide. Je te remercie.