Problème d'adresse absolue-relative

Signaler
Messages postés
53
Date d'inscription
lundi 23 juin 2003
Statut
Membre
Dernière intervention
11 janvier 2007
-
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
Bonjour, j'ai écrit un fichier contenant plusieurs constantes. Ce fichier est utilisé dans divers script php pour se connecter à certaines bases de données. Les scripts sont dispersés dans plusieurs répertoire et sous répertoire. Pour inclure le fichier de constante, j'utilise la commande REQUIRE.

Le problème est que certain de ces fichiers sont inclus dans d'autre fichier. Ce qui pose un problème lorsque j'appelle le fichier de constante avec une adresse relative. Comment puis-je faire ca avec une adresse absolue. J'ai essayé d'appeller le fichier de constante comme celà http://serveur/répertoire/fichier.php mais apparement ca ne fonctionne pas.

Pourquoi?

Merci d'avance

Skmancuso

2 réponses

Messages postés
9
Date d'inscription
lundi 17 décembre 2001
Statut
Membre
Dernière intervention
10 janvier 2005

Bonjour,

Pourquoi ne pas inclure avec une adresse http:// ... ?
En écrivant ceci, l'interpréteur PHP va requérir le fichier PHP auprès du serveur web qui lui renverra le fichier interprété (et j'espère qu'il ne renverra effectivement rien !!).
Il est donc nécessaire de saisir un chemin local et non une adresse web ...

Pour savoir où un fichier inclu doit se trouver, rien ne vaut mieux que se reporter à la doc PHP :
http://fr2.php.net/manual/fr/function.include.php
--------------------------------------------------------------
Les fichiers à inclure sont d'abord recherchés dans le dossier désigné par <VAR class=option>include_path</VAR>, relativement au dossier courant, puis dans <VAR class=option>include_path</VAR>, relativement au dossier de travail du script. Par exemple, si <VAR class=option>include_path</VAR> est <VAR class=literal>.</VAR>, que le dossier de travail est <TT class=filename>/www/</TT>, et que vous incluez le fichier <TT class=filename>include/a.php</TT> et qu'il y a une instruction <VAR class=literal>include "b.php"</VAR> dans ce fichier, alors <TT class=filename>b.php</TT> est d'abord recherché dans <TT class=filename>/www/</TT>, puis dans <TT class=filename>/www/include/</TT>.
---------------------------------------------------------------

Ceci devrait répondre à ta question.

A+


<HR>
"Cette connaissance que nous tenons aujourd'hui pour évidente,
il se peut que nos descendants n'y voient un jour que prodige et mystère."
Robin Hobb
Messages postés
1662
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
1
Si tu fais un include (dun fichier dans un dossier) dans un include,
c'est un peut vache si ton fichier à inclure (dans le 2e) possède un
même nom que dans le premier dossier...

Normalement, le fichier dans le même dossier du 1er script appelant devrait être chargé...

Pour pallier à ce problème, utiliser include($_SERVER['DOCUMENT_ROOT'].'/path/to/file.php');



Si tu ne veux pas inclure 2 fois le même fichier => include_once

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
http://www.lookstrike.com