获取 PHP 项目的根目录路径

php
2022-08-30 06:48:50

我的PHP项目中有这个文件夹结构。(如黄食所示)

-MySystem
    +Code
    +Data_Access
    -Public_HTML
        +css
        +js
        +Templates
    -resources

当我尝试此代码时

echo $_SERVER['DOCUMENT_ROOT']

输出为

D:/工作区

如何获取系统根目录()的路径,而无需对文件夹名称进行硬编码?MySystem


答案 1

对于 PHP >= 5.3.0,请尝试

PHP 魔术常量

__DIR__

并让你的道路相对。

对于 PHP < 5.3.0,请尝试

dirname(__FILE__)

答案 2

当你这么说的时候

$_SERVER['DOCUMENT_ROOT']

包含以下路径:

D:/workspace

那么这就是你要找的,不是吗?在这种情况下,您可以通过斜杠分解字符串并返回第一个字符串:D:

$pathInPieces = explode('/', $_SERVER['DOCUMENT_ROOT']);
echo $pathInPieces[0];

这将输出服务器的根目录。

更新:当您使用常量而不是硬编码斜杠 () 时,此代码在 Windows 下也有效。DIRECTORY_SEPARATOR'/'

更新 2:全局变量并非始终可用。例如,在命令行 (cli) 上。因此,您应该使用 代替 . 返回 php 文件本身的路径。$_SERVER__DIR__$_SERVER['DOCUMENT_ROOT']__DIR__


推荐