当尝试从我的PHP文件中的根目录进行链接时,我无法加载该文件。除非我将文件路径添加为绝对路径,否则它将正常工作,
<link href="/supportfiles/subheader/css/css.css" rel="stylesheet" type="text/css">
<div id="subheadingContainer">
<div id="allContentContainer">
<?php
if (count($loggedIn["directReports"]) != 0 ) {
require("/supportfiles/subheader/itemshtml/inbox.php");
} else {
require("/supportfiles/subheader/itemshtml/myrequests.php");
}
?>
</div>
</div>
有人知道为什么如果我../可以正常工作,但如果我对其进行硬编码则不能正常工作吗?这是一个支持标题文件,因此我可以在目录的多个级别上使用它,我认为应该从根目录对其进行硬编码。
答案 0 :(得分:0)
在PHP中使用绝对路径时,/
指向文件系统的根目录,而不是Web应用程序的根目录,这意味着,如果要使用绝对路径,则必须将路径用作如果您是通过文件管理器而非浏览器访问的。
例如,假设您正在使用apache在Linux上工作,并且apache服务器的根目录是/var/www/
,那么您必须输入:
require("/var/www/supportfiles/subheader/itemshtml/inbox.php");
如果不确定文档的根目录,则可以使用PHP的$ _SERVER ['DOCUMENT_ROOT']。因此,在您的情况下,只需将$ _SERVER ['DOCUMENT_ROOT']放在任何绝对路径之前,就可以正常工作。例如:
require $_SERVER['DOCUMENT_ROOT'] . '/supportfiles/subheader/itemshtml/inbox.php';