include et chemin absolu - PHP - Programmation
Marsh Posté le 16-11-2005 à 10:46:47
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__)
Marsh Posté le 16-11-2005 à 10:48:36
Tu as getcwd() pour récupérer le repertoire courant...
Marsh Posté le 16-11-2005 à 13:25:05
moi, j'utilise $_SERVER["DOCUMENT_ROOT"] devant tous mes noms de chemins absolus.
Marsh Posté le 17-11-2005 à 15:03:24
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 )
Marsh Posté le 17-11-2005 à 15:22:54
$_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.
Marsh Posté le 17-11-2005 à 15:29:44
quel idiot que je suis ....
en effet il fallait mettre ca et zou :
Code :
|
merci à vous tous
Marsh Posté le 18-11-2005 à 13:50:15
weed a écrit : quel idiot que je suis ....
|
ben oui Moi, c'est ce que je fais pour mes applis php...
Marsh Posté le 18-11-2005 à 14:19:26
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 ..
Marsh Posté le 18-11-2005 à 14:20:39
Lorsque la racine effective du site n'est pas le documentroot, ça se complique, néanmoins...
Marsh Posté le 21-01-2006 à 03:03:53
ReplyMarsh Posté le 21-01-2006 à 11:13:55
lkolrn a écrit : |
Pas dans mon cas, mais je suis un cas particulier...la racine effective n'est pas imposée.
Marsh Posté le 13-02-2007 à 10:03:17
weed a écrit : quel idiot que je suis ....
|
(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!
Marsh Posté le 14-02-2007 à 11:14:29
pour le chemin absolu utilise plutôt /admin/etc... en fait, / représente la racine de ton site
Marsh Posté le 14-02-2007 à 13:12:34
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.
Marsh Posté le 03-03-2007 à 22:50:56
yop Mploufeur, au contraire ca fait plaisir de retrouver mon thread. Cela veut dire que ma question n'etait pas si stupide que ca et que je n'etais pas le seul a me poser la question
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 ?
Code :
|
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']
Marsh Posté le 05-03-2007 à 19:32:59
ReplyMarsh Posté le 05-03-2007 à 22:38:53
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..
Marsh Posté le 02-09-2007 à 13:14:15
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 :
|
Un code vraiment libérateur... non ??
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)
Marsh Posté le 02-09-2007 à 19:13:04
Je doute que realpath soit indispensable dans ce cas (mais ça ne coûte rien je suppose).
Marsh Posté le 15-10-2007 à 17:02:20
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 :
|
ya rien qui marche
Une idée?
Merci
Marsh Posté le 16-11-2005 à 10:23:07
voilou, j'utilise un include pour me connecter à ma base de donnnée
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 ...