0

我在 root/lib 中有 header.php,其中包括同一目录中的 header_sub.php。通常根目录中的文件可以通过以下代码直接包含它们:

include_once('lib/header.php');

但现在我在子目录 /blog 中有 example.php,如果我使用这些

include_once(../'lib/header.php');  or 
include_once($_SERVER['DOCUMENT_ROOT'].'/lib/header.php');  or 
include_once(dirname(__FILE__).'/lib/header.php');

header_sub.php 不会被正确包含。

有没有办法在不修改它们的情况下包含 header.php 和 header_sub.php?

一些机构建议使用这些:

 $oldcwd = getcwd(); // Save the old working directory
    chdir("../"); // Moves up a folder, so from /blog to /
    include("header.php"); // Include the file with the working directory as if the header file were being loaded directly, from it's folder
    chdir($oldcwd); // Set the working directory back to before

但是,即使我可以看到当前 url 是 chdir() 之后的根目录,它仍然包含这个 root/blog/lib……

4

2 回答 2

0

使用 include_once('/lib/header.php');

于 2013-06-24T06:52:04.940 回答
0

试试这样:

$oldcwd = getcwd();  // Save the old working directory
chdir($_SERVER['DOCUMENT_ROOT']);
include_once('lib/header.php');
chdir($oldcwd);      // Go back to the old working directory
于 2013-09-22T21:26:30.533 回答