在 PHP 中查找根目录路径

Subodh Poudel 2023年1月30日
  1. 在 PHP 中使用 __DIR__ 预定义常量查找文件目录的路径
  2. 在 PHP 中使用 dirname() 函数查找项目根目录的路径
  3. 在 PHP 中使用 $_SERVER['DOCUMENT_ROOT'] 查找文件的文档根目录
在 PHP 中查找根目录路径

我们将介绍不同的方法来查找 PHP 项目根目录的路径。

在 PHP 中使用 __DIR__ 预定义常量查找文件目录的路径

在 PHP 中,有可用于实现各种功能的预定义常量。__DIR__ 是一个神奇的常量,它从根目录返回当前文件的完整文件路径。这意味着它将返回文件的目录。dirname(__FILE__) 也可以用于相同的目的。

假设我们有一个 project 文件夹,它是项目的根目录。project 文件夹具有以下文件路径 /var/www/HTML/project。在 project 文件夹中,我们有 index.php 文件和另一个文件夹 master。在 master 文件夹中,我们有两个 PHP 文件:login.phpregister.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,我们可以使用级别为 2dirname() 函数和 __FILE__ 常量作为参数。然后我们可以得到工作目录的确切文件路径。因此,我们可以根据我们的选择更改级别以在文件路径中向上和向下移动。这样我们就可以在 PHP 中找到项目根目录的路径了。

示例代码:

<?php
echo dirname(__FILE__,2);
?>

输出:

/var/www/html/project

在 PHP 中使用 $_SERVER['DOCUMENT_ROOT'] 查找文件的文档根目录

我们可以使用带有 DOCUMENT_ROOT 索引的 $_SERVER[] 数组来查找当前正在执行的脚本的文档根目录。它将返回文档根目录的完整路径。它在服务器的配置文件中定义。对于上面的文件结构,我们可以使用 echo 函数打印 $_SERVER['DOCUMENT_ROOT'] 以找到文件 login.php 的文档根目录。

如下面的输出所示,我们发现路径 htmllogin.php 文件的文档根目录。我们也可以看到根目录的文件路径。

示例代码:

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

输出:

/var/www/html
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

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

相关文章 - PHP File