Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
713 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] pb de chemin relatif/absolu avec un include

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] pb de chemin relatif/absolu avec un include

n°43411
fkayou
Posté le 28-06-2001 à 15:45:52  profilanswer
 

Question 1 :
-Comment peut on retourner à la racine du site quelque soit l'endroit où l'on est, que l'on soit déjà a la racine ou bien à 3-4 répertoires en dessous.
 
 
S'il n'y a pas de réponse à la question 1 :
-j'ai besoin de faire un require d'un fichier. Le pb est que ce fichier n'est pas toujours au même endroit par rapport au fichier d'où il est appelé (même répertoire, au dessus...). Il s'agit du fichier de config de la BD
 
Je n'arrive pas à écrire le chemin relatif qu'il convienne à tous les cas (pb posé ci dessus), je voudrais donc passer en absolu "http://....free.fr/config/info.php3"
Or ça ne fonctionne pas, les variables ne sont pas prises en compte dans ce cas. Si je le met en relatif "../config/info.php3", ça marche
 
Comment faire?
 
Merci de vos réponses

mood
Publicité
Posté le 28-06-2001 à 15:45:52  profilanswer
 

n°43418
__Lolo__
C'est pouleversant !
Posté le 28-06-2001 à 16:08:07  profilanswer
 

cf la variable $DOCUMENT_ROOT qui te renvoie toujours ds le repertoire racine du serveur (pas du site, donc faut indiquer les chemins relativement a ce rep)

n°43424
Mara's dad
Yes I can !
Posté le 28-06-2001 à 16:24:50  profilanswer
 

$DOCUMENT_ROOT est une variable Apache !
 
Pour les pauvres utilisateurs Windows qui n'y ont pas accès !
 
Mettre un chemin absolut du genre :  
 
include("/inetpub/wwwroot/toto.inc" );


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43426
fkayou
Posté le 28-06-2001 à 16:40:54  profilanswer
 

Je suis hébergé par free et donc je sais pas commment faire car  
1.je ne connais pas le type de serveur  
2.que dois je mettre apres le $DOCUMENT_ROOT?  
"$DOCUMENT_ROOT/login/stats/bidon.php3"
"$DOCUMENT_ROOT/login.free.fr/stats/bidon.php3"

n°43443
Mara's dad
Yes I can !
Posté le 28-06-2001 à 17:35:37  profilanswer
 

Ben y vaut quoi $DOCUMENT_ROOT ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°43463
FLY LM
Posté le 28-06-2001 à 18:18:30  profilanswer
 

fkayou a écrit a écrit :

Question 1 :
-Comment peut on retourner à la racine du site quelque soit l'endroit où l'on est, que l'on soit déjà a la racine ou bien à 3-4 répertoires en dessous.
 
 
S'il n'y a pas de réponse à la question 1 :
-j'ai besoin de faire un require d'un fichier. Le pb est que ce fichier n'est pas toujours au même endroit par rapport au fichier d'où il est appelé (même répertoire, au dessus...). Il s'agit du fichier de config de la BD
 
Je n'arrive pas à écrire le chemin relatif qu'il convienne à tous les cas (pb posé ci dessus), je voudrais donc passer en absolu "http://....free.fr/config/info.php3"
Or ça ne fonctionne pas, les variables ne sont pas prises en compte dans ce cas. Si je le met en relatif "../config/info.php3", ça marche
 
Comment faire?
 
Merci de vos réponses  




 
 
Bha, si tu sais ou tu es & où se trouve le fichier à inclure, normalement il n'y a pas de problème.
 
racine du site
 
    ---/common (répertoire où est fichier à inclure)
   |
   |
   |---/home/|
   |         |
   |         |
   |         |-----/truc/
   |         |
 
- Si tu es dans le répertoire trucs, pour inclure ton fichier :
 
include("../../common/fichier.inc" )
 
- Si tu es dans le répertoire home, pour inclure ton fichier :
 
include("../common/fichier.inc" )
 
- Si tu es à la racine, pour inclure ton fichier :
 
include("common/fichier.inc" )
 
@+

 

[edtdd]--Message édité par fly LM--[/edtdd]

n°1363846
croco44
Posté le 10-05-2006 à 21:58:17  profilanswer
 

Bonjour,
 
Je suis confronté au même problème, sauf que dans le cas évoqué, comme l'écrit FLY LM, il suffit d'indiquer le chemin relatif une fois pour toute.
 
Dans mon cas, j'utilise des pseudo-framres (ah, que je regrette la simplicité des frames de ce point de vue !). J'ai donc dans le DIV correspondant au menu du site un include ... du fichier menu (disons : menugauche.php)
 
disons : page1.php appelle (include) menugauche.pgp. usque là ça va.
 
Mais au gré de la navigation, page1.php va être remplacé par un page2.php, située dans un autre répertoire (pour des raisons d'organisation). Or il faut que page2.php fasse aussi l'include de menugauche.php... et les chemins relatifs de ce menu deviennent faux (parce que désormais liés au contexte de page2.php).
 
J'essaie en vain de piger comment utiliser les variables de type PHP_SELF ou DOCUMENT_ROOT, mais en vain : je dois rater sur la syntaxe après echo.
EN outre ce que je cherche à obtenir ce n'est pas le chemin du document courant, mais bien le chemin du document à charger !
 
Voilà, si quelqu'un peut me débloquer, je tourne en rond...
 
Même soucis pour les appels de fichiers .css, puisque tous les fichiers appelant ne sont pas dans le même chemlin relatif, et je ne parvient pas à y remédier.

n°1364070
croco44
Posté le 11-05-2006 à 11:20:26  profilanswer
 

Pour faire simple je me contente de définir une variable chemin pour la racine (http://etc....), que je concatène avec le chemin des sous-répertoires finaux. Pas de variable d'environnement utilisée, donc, la seule contrainte étant de modifier en dur la variable du chemin de la racine (en test local, les variables d'environnement envoient un chemin depuis c:... et ça ne fonctionne pas... ou je ne sais le faire fonctionner).
Je ferai passer ma variable de chemin en global.
 
J'ignore si c'est la bonne méthode, ni la plus élégante, mais ça fonctionne.

n°2083921
orang
Posté le 22-06-2011 à 15:40:51  profilanswer
 

Bonjour,
 
Je rencontre actuellement le même problème en local.
Le serveur (Wamp) renvoie des "No such file or directory in C:\wamp\www\index.php" alors que les liens sont bien précédés du ../ réglementaire.
 
Auriez-vous des idées ?
 
Par avance, merci :)

n°2209518
goelano
Posté le 07-11-2013 à 00:49:09  profilanswer
 

J'ai eu un problème analogue avec mon site chez free.fr . Grâce à vos commentaires j'ai trouvé une solution qui fonctionne bien sur mon site hébergé (chez free.fr), mais qui m'envoie erreur 404 en local (j'utilise MAMP 1.9.1, pour Mac OS X 10.4).
Dans plusieurs pages de mon site j'appelle "findepage.php" par require("findepage.php" ); ou bien par require("../findepage.php" );
Dans ce "findepage.php", j'appelle une page d'aide :
<A HREF="aide.php" TARGET="_blank">Aide</A>
Cette page "aide.php" se trouve à la racine ; appelée par "findepage.php" tout allait bien, mais appelée par "../findepage.php" j'avais erreur 404.
La solution est venue en ajoutant ../ devant "aide.php", c'est-à-dire :
<A HREF="../aide.php" TARGET="_blank">Aide</A>
Ça marche même sans les points : <A HREF="/aide.php" TARGET="_blank">Aide</A> :)  
 
Je pense que ça marche chez free.fr, car mon "aide.php" est à la racine du site. Donc ../ fait remonter d'un niveau lorsque c'est nécessaire, et ne fait rien lorsque on est déjà à la racine.
Par contre en local, ../ fait remonter d'un niveau à tous les coups (car mon dossier est loin de la racine) et on n'est pas toujours dans le bon dossier. Mais c'est en local, et ça ne gêne que moi. :ange:  
Si vous avez une autre solution, je suis preneur.
 :hello:

mood
Publicité
Posté le 07-11-2013 à 00:49:09  profilanswer
 

n°2209535
MaybeEijOr​Not
but someone at least
Posté le 07-11-2013 à 10:00:11  profilanswer
 

Dans le fichier appelant, utilisez __DIR__ (>= php 5.3) ou dirname(__FILE__) (< php 5.3) pour retrouver votre chemin. Plus qu'à compter le nombre de dossiers jusqu'à la racine.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] pb de chemin relatif/absolu avec un include

 

Sujets relatifs
[PHP] besoin d'aide avec include pour défnir mon $page=[javascript] l'équivalent de trim() en PHP ?
HELP => Formulaire HTML + envoie bdd + pseudo frame PHP = gros pb[PHP] Heeeeeeeeeeeeeelp plz
[PHP]Passage de fichier en paramétresJAVASCRIPT : comment recuperer une variable PHP ?
exist il des progs similaire a PHP et JAVA serveur (websphere)[PHP] limite du temps d'execution
[HTML] ou [PHP] ou autre languauge et création de repertoire. 
Plus de sujets relatifs à : [PHP] pb de chemin relatif/absolu avec un include


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR