在 PHP 中查找根目录路径
-
在 PHP 中使用
__DIR__
预定义常量查找文件目录的路径 -
在 PHP 中使用
dirname()
函数查找项目根目录的路径 -
在 PHP 中使用
$_SERVER['DOCUMENT_ROOT']
查找文件的文档根目录
我们将介绍不同的方法来查找 PHP 项目根目录的路径。
在 PHP 中使用 __DIR__
预定义常量查找文件目录的路径
在 PHP 中,有可用于实现各种功能的预定义常量。__DIR__
是一个神奇的常量,它从根目录返回当前文件的完整文件路径。这意味着它将返回文件的目录。dirname(__FILE__)
也可以用于相同的目的。
假设我们有一个 project
文件夹,它是项目的根目录。project
文件夹具有以下文件路径 /var/www/HTML/project
。在 project
文件夹中,我们有 index.php
文件和另一个文件夹 master
。在 master
文件夹中,我们有两个 PHP 文件:login.php
和 register.php
。
project
├── index.php
└── master
├── login.php
└── register.php
假设我们目前正在处理 login.php
。在这样的文件结构中,我们可以使用 login.php
文件中的 __DIR__
常量来获取目录的路径。我们可以使用 echo
函数来打印常量。
示例代码:
<?php
echo __DIR__;
?>
输出:
/var/www/html/project/master
在 PHP 中使用 dirname()
函数查找项目根目录的路径
函数 dirname(__FILE__)
类似于 __DIR__
。我们可以使用此函数找到文件目录的路径。我们还可以使用 dirname()
函数移动到文件路径中的上层。该函数的第一个参数是文件的路径,由 __FILE__
常量表示。第二个参数是一个整数,称为级别。我们可以设置级别以指示函数在文件路径中升级。级别的默认值为 1
。随着级别的增加,该函数将获取上一级的文件路径。因此,我们可以使用该函数在 PHP 中查找项目根目录的确切文件路径。
例如,我们可以将文件结构视为第一种方法。使用文件 login.php
,我们可以使用级别为 2
的 dirname()
函数和 __FILE__
常量作为参数。然后我们可以得到工作目录的确切文件路径。因此,我们可以根据我们的选择更改级别以在文件路径中向上和向下移动。这样我们就可以在 PHP 中找到项目根目录的路径了。
示例代码:
<?php
echo dirname(__FILE__,2);
?>
输出:
/var/www/html/project
在 PHP 中使用 $_SERVER['DOCUMENT_ROOT']
查找文件的文档根目录
我们可以使用带有 DOCUMENT_ROOT
索引的 $_SERVER[]
数组来查找当前正在执行的脚本的文档根目录。它将返回文档根目录的完整路径。它在服务器的配置文件中定义。对于上面的文件结构,我们可以使用 echo
函数打印 $_SERVER['DOCUMENT_ROOT']
以找到文件 login.php
的文档根目录。
如下面的输出所示,我们发现路径 html
是 login.php
文件的文档根目录。我们也可以看到根目录的文件路径。
示例代码:
<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>
输出:
/var/www/html
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn