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

  FORUM HardWare.fr
  Programmation
  PHP

  include et chemin absolu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

include et chemin absolu

n°1246575
weed
Posté le 16-11-2005 à 10:23:07  profilanswer
 

voilou, j'utilise un include pour me connecter à ma base de donnnée  
 
 
 

Code :
  1. include ('../admin/connexion.php');
  2. mysql_connect($hostname,$mysqluser,$mysqlpswd);
  3. mysql_selectdb($database) or die($diemessage);


 
cela fonctionne nickel en chemin relatif mais en absolu je n'y arrive pas...
Mon fichier connexion est accessible sous http://site.com/admin/connexion.php
Sur le serveur ftp de online.net : /www/admin/connexion.php
 
j'ai essayé include ('/admin/connexion.php');
et include ('/www/admin/connexion.php'); non plus ...

mood
Publicité
Posté le 16-11-2005 à 10:23:07  profilanswer
 

n°1246594
soju
One shot !
Posté le 16-11-2005 à 10:46:47  profilanswer
 

weed a écrit :

Sur le serveur ftp de online.net : /www/admin/connexion.php

normal, le chemin ftp est relatif à ton dossier sur le serveur
pour avoir le chemin absolu utilise un truc du genre : dirname(__FILE__)

n°1246596
skeye
Posté le 16-11-2005 à 10:48:36  profilanswer
 

Tu as getcwd() pour récupérer le repertoire courant...


---------------
Can't buy what I want because it's free -
n°1246705
rufo
Pas me confondre avec Lycos!
Posté le 16-11-2005 à 13:25:05  profilanswer
 

moi, j'utilise $_SERVER["DOCUMENT_ROOT"] devant tous mes noms de chemins absolus.

n°1247645
weed
Posté le 17-11-2005 à 15:03:24  profilanswer
 

euhh moi aussi j'utilisais $_SERVER["DOCUMENT_ROOT"]  pour connaitre le repertoire courant du fichier php.
 
Mais la cela ne resouds pas mon souci.
 
L'interet d'un chemin absolu dans un include, c'est que quelque soit l'emplacement du fichier sur le serveur, il pointera toujours vers mon fichier connexion.php.
 
Connaitre le repertoire courant ne m'apporte pas grand chose. J'ai peut etre pas compris ce que vous vouliez dire ...
 
qu'est ce que vous me proposez de mettre dans mon include ?  
include ( ???? connexion.php )

n°1247665
omega2
Posté le 17-11-2005 à 15:22:54  profilanswer
 

$_SERVER["DOCUMENT_ROOT"], c'est pas la position de la racine du site web dans l'arborescence du disque dur?
Si c'est le cas, alors à partir de là, et de la position du fichier à inclure dans l'arborescence du site, on peut inclure ce qu'on veut.
 
Et si $_SERVER["DOCUMENT_ROOT"] indique le répertoire courant et non pas la racine du site, alors il susffit de le retravaillé à partir de la position du fichier pour retomber sur ses pattes.
 
PS : Là où ca devient coton, c'est si le serveur contient des répertoires web virtuels par ce que là, à par si le serveur indique à quel dossier du disque correspond tel dossier du serveur, il devient impossible d'indiquer à chercher le fichier sur le disque à partir de sa position sur le site.

n°1247673
weed
Posté le 17-11-2005 à 15:29:44  profilanswer
 

quel idiot que je suis ....
 
en effet il fallait mettre ca et zou :
 

Code :
  1. include ($_SERVER["DOCUMENT_ROOT"].'/admin/connexion.php');


 
merci à vous tous

n°1248338
rufo
Pas me confondre avec Lycos!
Posté le 18-11-2005 à 13:50:15  profilanswer
 

weed a écrit :

quel idiot que je suis ....
 
en effet il fallait mettre ca et zou :
 

Code :
  1. include ($_SERVER["DOCUMENT_ROOT"].'/admin/connexion.php');


 
merci à vous tous


 
ben oui :) Moi, c'est ce que je fais pour mes applis php...

n°1248384
_4ka
Posté le 18-11-2005 à 14:19:26  profilanswer
 

rufo a écrit :

ben oui :) Moi, c'est ce que je fais pour mes applis php...


idem .. c'est tellement plus agréable d'avoir des chemins absolus et une architecture de scripts quand on code ..
 
je ne saurais plus m'en passer d'ailleurs ..

n°1248388
skeye
Posté le 18-11-2005 à 14:20:39  profilanswer
 

Lorsque la racine effective du site n'est pas le documentroot, ça se complique, néanmoins... :whistle:


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 18-11-2005 à 14:20:39  profilanswer
 

n°1288775
lkolrn
<comment ça marche?>
Posté le 21-01-2006 à 03:03:53  profilanswer
 

:hello:  
 
$_SERVER["DOCUMENT_ROOT"]."ma/racine/effective/" ça suffit po ?

n°1288818
skeye
Posté le 21-01-2006 à 11:13:55  profilanswer
 

lkolrn a écrit :

:hello:  
 
$_SERVER["DOCUMENT_ROOT"]."ma/racine/effective/" ça suffit po ?


 
Pas dans mon cas, mais je suis un cas particulier...la racine effective n'est pas imposée.


---------------
Can't buy what I want because it's free -
n°1513972
Mploufeur
Posté le 13-02-2007 à 10:03:17  profilanswer
 

weed a écrit :

quel idiot que je suis ....
 
en effet il fallait mettre ca et zou :
 

Code :
  1. include ($_SERVER["DOCUMENT_ROOT"].'/admin/connexion.php');


 
merci à vous tous


 
(Désolé de ressortir un vieux post... Au moins, ça prouve que j'ai cherché... mais je n'ai pas trouvé chaussure à mon pied...)
 
 
Je n'ai pas encore essayé $_SERVER["DOCUMENT_ROOT"] en site distant, mais tout ce que je sais, c'est que ça ne marche pas en local (j'utilise WAMP): Ca va me chercher l'arborescence C: /........./wamp/www/test/mon_fichier_à_inclure.php!
 
Comment est-ce que je pourrais faire pour que mon site soit le même en local en en distant?
Merci d'avance!


Message édité par Mploufeur le 14-02-2007 à 13:14:33
n°1514423
franzBesac
Posté le 14-02-2007 à 11:14:29  profilanswer
 

pour le chemin absolu utilise plutôt /admin/etc... en fait, / représente la racine de ton site


---------------
http://www.chances-de-gagner.fr
n°1514506
Mploufeur
Posté le 14-02-2007 à 13:12:34  profilanswer
 

franzBesac a écrit :

pour le chemin absolu utilise plutôt /admin/etc... en fait, / représente la racine de ton site


Bonjour, et merci de se préoccuper de mon soucis...
 
Cependant, j'aimerais utiliser un chemin relatif, histoire (par exemple) de pouvoir développer mon site en local, puis de le mettre sur un serveur distant pour exploitation. Ca me permettrai également de déplacer le site en cas de besoin, le tout sans avoir à changer le code.

n°1523332
weed
Posté le 03-03-2007 à 22:50:56  profilanswer
 

yop Mploufeur, au contraire ca fait plaisir de retrouver mon thread. Cela veut dire que ma question n'etait pas si stupide que ca  [:alrick] et que je n'etais pas le seul a me poser la question  [:talium]

 

et bien normallement comme tu as pu le voire sur mon premier post, on peux utiliser des chemins relatifs mais ce n'est pas tres propre car non conforme W3C je crois ...

 

Ce code ne fonctionne pas chez toi ?  [:axlrose]

Code :
  1. include ('../admin/connexion.php');
 

Si tu utilises une variables PHP qui t'indique à partir de quel chemin tu dois partir, il n'y aura pas de problème.
Tu pourras deplacer ton site sur ton serveur distant.

 

Tu peux utilser cette variable : $_SERVER["HTTP_REFERER"]
par exemple, sur ma page phpinfo, elle me renvoie : http://127.0.0.1:4545/home/
Je la trouve d'ailleur mieux que la variable $_SERVEUR['DOCUMENT_ROOT']


Message édité par weed le 03-03-2007 à 22:51:08
n°1524061
FlorentG
Posté le 05-03-2007 à 19:32:59  profilanswer
 

N'utilise jamais le REFERER, c'est bancal à mort :(

n°1524105
nORKy
Grmmph...
Posté le 05-03-2007 à 22:38:53  profilanswer
 

FlorentG a écrit :

N'utilise jamais le REFERER, c'est bancal à mort :(


 
Et en plus, il y a une mode d'attaque sur le referer en ce moment..

n°1607224
cybergomo
Posté le 02-09-2007 à 13:14:15  profilanswer
 

Un petit up pour ceux qui ont pas mal cherché comme moi.
 
Pour que votre code fonctionne partout (wamp ou lamp, que l'on utilise ou non des slash / ou des antislash \), en ligne de commande ou via un serveur web, même lorsqu'un include fait appel a un include dans autre dossier qui fait lui-même appel a un autre include qui est dans un autre dossier (..je suis clair?  :) ) :
 
 

Code :
  1. include (realpath(dirname(__FILE__).'/myfunction.php'));
  2. include (realpath(dirname(__FILE__).'/mydir/myfunction.php'));
  3. include (realpath(dirname(__FILE__).'/../anotherdir/myfunction.php'));


 
Un code vraiment libérateur... non ??  :love:  
 
Pour booster le référencement, n'hésitez pas a ajouter un petit de up de remerciement !
(Merci a Jonny Rylands http://fr2.php.net/manual/fr/funct [...] .php#56773)


Message édité par cybergomo le 02-09-2007 à 13:19:20
n°1607302
sielfried
Posté le 02-09-2007 à 19:13:04  profilanswer
 

Je doute que realpath soit indispensable dans ce cas (mais ça ne coûte rien je suppose).


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1607810
weed
Posté le 04-09-2007 à 00:40:00  profilanswer
 

merci à toi aussi pour ce up cybergomo tres utile.

n°1624079
heresie
Posté le 15-10-2007 à 17:02:20  profilanswer
 

Bonjour a tous,
Un petit up pour ce pb que je trouve pas anodin du tout.
Je rencontre le meme soucis, a savoir que le include avec un chemin absolu (pour eviter d avoir a rechercher a chaque fois le chemin relatif) ne fonctionne pas en local (avec WAMP) mais c'est ok en distant.
J ai essayé  

Code :
  1. include('../../preference.php');
  2. // include('/wavart/preference.php');
  3. // include ($_SERVER["DOCUMENT_ROOT"]"./preference.php" );
  4. // include_path=".;c:\php\includes";
  5. //include (realpath(dirname(__FILE__).'/preference.php'));


 
ya rien qui marche :??:
 
Une idée?
 
Merci

mood
Publicité
Posté le   profilanswer
 


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

  include et chemin absolu

 

Sujets relatifs
Include => décalage du menurécupérer le chemin du repertoire utilisateur [résolu]
Chemin d'image dans excelUne forme d'include pour les news....
Include/Require en cascade et acces aux variablesTemplate PHPlib : Include();
Pb avec plusieurs include PHP sur une même pageInclude
Include chemin absolu marche plus depuis réinstall[PHP] pb de chemin relatif/absolu avec un include
Plus de sujets relatifs à : include et chemin absolu


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