文档根PHP

时间:2012-08-13 03:45:58

标签: php html root

只是确认,正在使用:

$_SERVER["DOCUMENT_ROOT"]

与使用相同:/

HTML中的

EG。如果当前文件是:

folder/folder/folder/index.php

我可以使用(在HTML中)从roort开始:

/somedoc.html

并在PHP中做同样的事情我将不得不使用:

$_SERVER["DOCUMENT_ROOT"] . "/somedoc.html";

这是对的吗?有没有更简单的方法呢?

4 个答案:

答案 0 :(得分:29)

 <a href="<?php echo $_SERVER['DOCUMENT_ROOT'].'/hello.html'; ?>">go with php</a>
<br />
<a href="/hello.html">go to with html</a>

自己尝试一下,发现它们并不完全相同。

$ _ SERVER ['DOCUMENT_ROOT']呈现实际的文件路径(在我的计算机上运行,​​因为它自己的服务器,c:/ wamp / www /

HTML's /呈现服务器URL的根,在我的例子中是localhost /

但是c:/wamp/www/hello.html和localhost / hello.html实际上是同一个文件

答案 1 :(得分:5)

只是/从公共html文件夹中引用您网站的根目录。 DOCUMENT_ROOT指的是包含您网站的服务器上文件夹的本地路径。

例如,我在机器上安装了EasyPHP ......

$_SERVER["DOCUMENT_ROOT"]给了我file:///C:/Program%20Files%20(x86)/EasyPHP-5.3.9/www,但我链接到/的任何文件都与我的www文件夹相关。

如果要提供服务器上文件的绝对路径(来自服务器的根目录),可以使用DOCUMENT_ROOT。如果您想从网站的根目录中提供文件的绝对路径,请仅使用/

答案 2 :(得分:0)

,在服务器端$_SERVER['DOCUMENT_ROOT']等同于在客户端/

例如:"{$_SERVER['DOCUMENT_ROOT']}/images/thumbnail.png"的值将是服务器上的字符串/var/www/html/images/thumbnail.png,在该服务器上可以从客户端的URL http://example.com/images/thumbnail.png到达该路径下的本地文件

,换句话说,$_SERVER['DOCUMENT_ROOT']的值不是/,而是服务器在example.com/上向客户端显示的内容的服务器本地路径。

注意:$_SERVER['DOCUMENT_ROOT']不包含结尾的/

答案 3 :(得分:-6)

最简单的方法是拥有良好的网站结构并将其写为常量。

DEFINE("BACK_ROOT","/var/www/");