Juste pour confirmer, utilise:
$_SERVER["DOCUMENT_ROOT"]
la même chose que d'utiliser: /
en HTML.
Par exemple. Si le document actuel est:
folder/folder/folder/index.php
Je pourrais utiliser (en HTML) pour commencer sur le roort:
/somedoc.html
et pour faire la même chose dans PHP, je devrais utiliser:
$_SERVER["DOCUMENT_ROOT"] . "/somedoc.html";
Est-ce exact? Y a-t-il un moyen plus facile de le faire?
<a href="<?php echo $_SERVER['DOCUMENT_ROOT'].'/hello.html'; ?>">go with php</a>
<br />
<a href="/hello.html">go to with html</a>
Essayez ceci vous-même et constatez qu'ils ne sont pas exactement les mêmes.
$ _SERVER ['DOCUMENT_ROOT'] restitue un chemin de fichier réel
HTML's/rend la racine de l'URL du serveur, dans mon cas, localhost /
Mais c: /wamp/www/hello.html et localhost/hello.html sont en fait le même fichier
Juste /
fait référence à la racine de votre site Web à partir du dossier HTML public. DOCUMENT_ROOT
fait référence au chemin d'accès local au dossier sur le serveur qui contient votre site Web.
Par exemple, j'ai la configuration EasyPHP sur une machine ...
$_SERVER["DOCUMENT_ROOT"]
me donne file:///C:/Program%20Files%20(x86)/EasyPHP-5.3.9/www
mais tout fichier vers lequel je lierai avec seulement /
sera relatif à mon dossier www
.
Si vous voulez donner le chemin absolu à un fichier sur votre serveur (à partir de la racine du serveur), vous pouvez utiliser DOCUMENT_ROOT
. si vous voulez donner le chemin absolu à un fichier à partir de la racine de votre site Web, utilisez simplement /
.
Oui , côté serveur $_SERVER['DOCUMENT_ROOT']
est équivalent à /
côté client.
Par exemple: la valeur de "{$_SERVER['DOCUMENT_ROOT']}/images/thumbnail.png"
sera la chaîne /var/www/html/images/thumbnail.png
sur un serveur où le fichier local de ce chemin peut être atteint du côté client à l'url http://example.com/images/thumbnail.png
Non , en d'autres termes, la valeur de $_SERVER['DOCUMENT_ROOT']
n'est pas /
mais le chemin d'accès local du serveur à ce que le serveur affiche au client à example.com/
remarque: $_SERVER['DOCUMENT_ROOT']
n'inclut pas un /
final