Si je vous écris, c'est que vous pensez bien que j'ai un petit soucy,je suis actuellement en stage dans une école où je réalise un site internet.
Pour des raisons d'organisation, je m'éfforce à mettre différents dossiers où je range mes fichiers php. Un pour la connexion, un pour les fonctions, etc ...
Je vous présente la structure des fichiers que j'utilise et qui pose problème :
j'utilise 2 répertoires:
- connexion/liste_connexion.php : page qui présente les connexions établient
et au même niveau de répertoire, pour caricaturer le répertoire suivant est frère avec connexion ...
- fonctions/connexionBDD.php : fonctions qui se connecte à la BDD
mon code est le suivant pour utiliser la fonction depuis liste_connexion.php
Ce qu'il y a de supprenenant, c'est que le résultat attendu est affiché mais en dessous des erreurs!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 include("../fonctions/connexionBDD.php"); // .. pour retourner à la racine de mon site
Mais avec une belle erreur ci dessus:
Donc voilà je ne sais plus où donner de la tête après de multiples recherches et je précise que le ligne 2 est le bout de code que j'ai donné plus hautWarning: include(../fonctions/connexionBDD.php) [function.include]: failed open stream: No such file or directory in E:\wamp\www\Ecole\connexion\liste_connexion.php on line 2
Warning: include()[function.include]:failed opening '..:fonctions/connexionBDD.php' for inclusion (include_path='.;C:\php5\pear') in
E:\wamp\www\Ecole\connexion\liste_connexion.php on line 2
en trifouillant encore sur le net : j'ai trouvé cela :
Traduction:Warning: Failed opening 'nom de fichier' for inclusion (include_path='') in nom du script php on line numéro de ligne
Attention: Echec à l'ouverture du fichier nom de fichier lors de l'inclusion
La théorie:
Le fichier à inclure n'a pas été trouvé.
En pratique:
Votre script entre dans les cas de figure suivants:
1. Le fichier (ou le chemin du fichier) n'existe effectivement pas
Solution: Corriger le nom du fichier passé en paramètre de la fonction include (ou le chemin).
2. Le fichier existe mais est inclus dans un script qui lui même est inclus dans un autre, et les chemins donnés sont des chemins relatifs. Comme les chemins relatifs des fichiers inclus sont relatifs au script executé. Si c'est un script A qui est executé et qui inclus un script B, qui lui même inclus in script C. Alors le chemin relatif du script C indiqué dans le script B, doit être relatif à la position du script A (le script executé). Ceci pose généralement problème car dans ce cas il est possible que le chemin ne soit plus valide si on execute directement le script B (le chemin relatif du script C indiqué dans le script B, devra alors être relatif à la position du script B). Il faut donc toujours donner un chemin complet ou bien déterminer dynamiquement le chemin relatif.
Solution:On peut aisement s'en sortir en utilisant la constante __FILE__ qui donne le chemin et le nom du script (pas celui qui est appelé mais celui qui fait l'include). Il faudra alors remplacer les include("chemin_relatif/script.php") par include(dirname(__FILE__)."/chemin_relatif/script.php").
Il est vrai que j'incluais 2 fois la même page dans une page, donc j'ai alors suivi leur conseil. J'ai même créé une fonction qui me permet de ne pas l'appelais 2 fois, mais toujours le même problème. Disons que maintenant je l'appelle 2 fois mais différament, je vous laisse comprendre avec un bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php include(dirname(__FILE__)."/chemin_relatif/script.php"); ?>
Code : PHP
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php session_start(); include (dirname(__FILE__)."/fonctions/connexionBDD.php"); function coordonnees() { // ici on insére l'adresse de l'école dans la bannière try {
Donc en ayant toujours le même problème, j'ai utilisé "dirname(__FILE__)". Mais rien non plus. Donc peut-être l'un d'entre vous à une idée après ces précisions ... Du moins je l'espère.
Merci Beaucoup
Cordialement
2berte
Partager