文档根PHP
仅为确认,正在使用:文档根PHP,php,html,root,Php,Html,Root,仅为确认,正在使用: $_SERVER["DOCUMENT_ROOT"] 与使用相同:/ 在HTML中 例如,如果当前文件为: folder/folder/folder/index.php 我可以使用(HTML)从roort开始: /somedoc.html 要在PHP中实现同样的功能,我必须使用: $_SERVER["DOCUMENT_ROOT"] . "/somedoc.html"; 对吗?有更简单的方法吗? <a href="<?php echo $_SERV
$_SERVER["DOCUMENT_ROOT"]
与使用相同:/
在HTML中
例如,如果当前文件为:
folder/folder/folder/index.php
我可以使用(HTML)从roort开始:
/somedoc.html
要在PHP中实现同样的功能,我必须使用:
$_SERVER["DOCUMENT_ROOT"] . "/somedoc.html";
对吗?有更简单的方法吗?
<a href="<?php echo $_SERVER['DOCUMENT_ROOT'].'/hello.html'; ?>">go with php</a>
<br />
<a href="/hello.html">go to with html</a>
你自己试试看,发现它们并不完全相同
$\u SERVER['DOCUMENT\u ROOT']
呈现实际的文件路径(在作为自己的服务器运行的计算机上,C:/wamp/www/
HTML的/
呈现服务器url的根,在我的例子中是localhost/
但是
C:/wamp/www/hello.html
和localhost/hello.html
实际上是同一个文件只是/
指的是公共html文件夹中网站的根。DOCUMENT\u root
指的是服务器上包含网站的文件夹的本地路径
例如,我在一台机器上安装了EasyHP
$\u服务器[“DOCUMENT\u ROOT”]
为我提供了file:///C:/Program%20Files%20(x86)/EasyPHP-5.3.9/www
但是我用/
链接到的任何文件都将与我的www
文件夹相关
如果您想提供服务器上文件的绝对路径(从服务器的根目录),可以使用
DOCUMENT\u root
。如果您想从网站的根目录提供文件的绝对路径,只需使用/
最简单的方法就是拥有良好的网站结构并将其作为常量写入
DEFINE("BACK_ROOT","/var/www/");
是,在服务器端
$\u服务器['DOCUMENT\u ROOT']
相当于客户端的/
例如:“{$\u SERVER['DOCUMENT\u ROOT']}/images/thumbnail.png”
的值将是服务器上的字符串/var/www/html/images/thumbnail.png
,可以从客户端的urlhttp://example.com/images/thumbnail.png
否,换句话说,$\u SERVER['DOCUMENT\u ROOT']
的值不是/
,而是服务器在example.com/
上向客户端显示的服务器本地路径
注意:
$\u服务器['DOCUMENT\u ROOT']
不包含尾随的/
,如果要将其用于include(),这与上面的超链接不同。没有理由发布我的答案,因为这是我要说的。includes有什么不同?你需要一个/
介于文档根目录和hello.html
文件路径和url不是同一个东西我知道它的旧版本,但我偶然发现了这个,你为什么要做更多常量如果您已经有一个php定义的服务器常量来执行此操作,则会浪费代码、cpu和内存,无论其深度有多深(文件夹方面)你在includes中,这样你就不必编写与脚本相关的代码,而只需编写用于定义根的代码。我用它来对抗当今许多程序员使用的Jerry-rigging方法。是的,但这样你的脚本就依赖于系统或位置,而这永远不应该是,应用程序应该是可移植的