PHP需要链接

时间:2018-07-11 04:33:27

标签: php require

当尝试从我的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>

有人知道为什么如果我../可以正常工作,但如果我对其进行硬编码则不能正常工作吗?这是一个支持标题文件,因此我可以在目录的多个级别上使用它,我认为应该从根目录对其进行硬编码。

1 个答案:

答案 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';