如何在 PHP 中构建动态绝对路径?

How can I build a dynamic absolute path in PHP?

我有一个由一些文件夹组成的网站,每个部分一个(信息、新闻、博客等...)。 在这些文件夹中的每一个中,都有一个 index.php 文件,该文件应加载布局(对所有文件都是通用的)。它们存储在根目录下的不同文件夹中,其中还有主要 index.php 文件(主页)。所以我有这样的东西:

root
-index.php (home)
-/layout
--layout files
-/info
--index.php`

/info 文件夹中的索引文件应包含 /layout 中的页面布局。 问题是布局文件应该包括来自其他文件夹的其他文件。 在布局文件中我把这个:

include 'contents/page-element.php';

但是如果我尝试从 /info 文件夹中的 index.php 文件访问相同的 page-element.php 文件,我应该这样做:

include '../contents/page-element.php';

转到根目录,然后到达 /layout 文件夹。

我不想为文件夹创建布局副本,所以我尝试了 $_SERVER['DOCUMENT_ROOT'],但在某些情况下它在本地主机甚至网络服务器上都不起作用。

有人可以帮助我或告诉我如何构建动态绝对路径吗?

通过使用内置常数 __DIR__ 你可以得到你的绝对值 path

通过打印或保存

echo __DIR__;

它会为你打印这样的东西

C:\Users\user\Desktop\test

还有另一个常量将为执行命令 __FILE__

的文件获取绝对值 path
echo __FILE__;

会给你这样的结果

C:\Users\user\Desktop\test\index.php