迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > PHP >

在 PHP 中包含绝对路径和相对路径

作者:迹忆客 最近更新:2023/03/27 浏览次数:

无论是在服务器上还是在本地 PC 上,执行 PHP 程序的路径都会有所不同并且很重要。如果你在错误的目录中运行,那么了解如何使用这两种类型的路径(相对路径和绝对路径)非常重要。

尽管两者都很重要,但我们可能经常使用绝对路径,尤其是在整个 PHP 应用程序的上下文中,而不是绝对路径。

本文将解释如何在 PHP 中使用或包含绝对路径和相对路径。


PHP 中的绝对路径和相对路径

无论是在 PHP 应用程序中还是在我们的本地计算机中,绝对路径都是相对于系统根目录的文件或目录位置。但是,相对路径指向文件系统中相对于当前目录的特定位置。

这是 Unix 或 Linux 上的绝对路径:

/home/user/devs

在 Windows PC 上,绝对路径如下所示:

C:\AMD\Chipset_Software

但是,Linux 路径系统通常​​用于大多数 PHP 服务器。

然而,相对路径可能看起来像这样:

../devs

上面的代码片段将代表 devs 目录的父目录,你可以在 Windows 上使用相同的 ..。假设你在 C:\Users\HP\Documents 目录中;你可以通过以下命令转到 HP 的子目录下载目录:

cd ..\Downloads

使用 include()dirname() 在 PHP 中包含绝对和相对路径

要访问绝对路径和相对路径,我们需要 dirname() 函数和一个名为 __FILE__ 的神奇常量。神奇的常量 __FILE__ 返回正在执行的 PHP 文件的完整路径和名称。

dirname() 函数返回父目录的路径。当我们一起使用 __FILE__dirname() 函数时,我们可以获得我们正在处理的文件的绝对根路径,假设我们通过 include 关键字与之交互的文件位于同一目录中.

include(dirname(__FILE__).'/functions.php');

dirname(__FILE__) 的结果是:

/home/runner/ScholarlyOvalFirewall

但是,假设我们与之交互的 PHP 文件位于当前工作目录的父目录中。在这种情况下,我们可以使用 __DIR__ 常量,因为它返回当前文件的目录,不带斜杠。

include(dirname(__DIR__).'/functions.php');

dirname(__FILE__) 的结果是:

/home/runner/

比如说,我们打算只使用相对路径,我们可以通过创建以下函数来实现:

function relativepath($to){
    $a=explode("/",dirname(__FILE__));
    $index= array_search("$to",$a);
    $str="";
    for ($i = 0; $i < count($a)-$index-2; $i++) {
        $str.= "../";
    }
    return $str;
    }

$st = relativepath('main.php');
echo $st;

该函数的参数是 PHP 文件的名称,它的工作原理是通过 / 符号将绝对路径字符串分解为一个数组并搜索指定的 PHP 文件。之后,../ 系列被附加到 $str 变量中,为我们提供到根的相对路径。

此外,我们可以使用 dirname() 函数、define() 函数和任何神奇的常量 __DIR____FILE__ 来定义根路径,具体取决于你的需要。

define('ROOT_PATH', dirname(__DIR__) . '/');

ROOT_PATH 现在是 /home/runner

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 PHP 中获取时间差的分钟数

发布时间:2023/03/29 浏览次数:183 分类:PHP

本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。

PHP 中的重定向

发布时间:2023/03/29 浏览次数:136 分类:PHP

本教程演示了如何将用户从页面重定向到 PHP 中的其他页面

PHP 分页

发布时间:2023/03/29 浏览次数:66 分类:PHP

本教程介绍如何在 PHP 中对数据库行进行分页

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便