如何在 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
我有一个由一些文件夹组成的网站,每个部分一个(信息、新闻、博客等...)。
在这些文件夹中的每一个中,都有一个 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