PHP 需要 Link

PHP require Link

当尝试从我的 PHP 文件的根目录 link 时,我无法加载该文件。它工作正常,除非我将文件路径添加为绝对路径,如下所示:

<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>

知道为什么如果我 ../ 它工作正常但如果我硬编码它却不行吗?这是一个支持标题文件,所以我在目录的多个级别使用它,我认为它应该从根目录开始硬编码。

当你在PHP中使用绝对路径时,/指的是你的文件系统的根目录,而不是你的网络应用程序的根目录,这意味着如果你想使用绝对路径你必须使用路径,就像您从文件管理器访问一样,而不是从浏览器访问。 例如假设您正在使用 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';