Problème d'adresse absolue-relative

skmancuso Messages postés 53 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 11 janvier 2007 - 10 janv. 2005 à 15:48
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 - 10 janv. 2005 à 18:32
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

loyasse Messages postés 9 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 10 janvier 2005
10 janv. 2005 à 16:30
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
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008
10 janv. 2005 à 18:32
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
0