1. 简介
在PHP中,__FILE__是一个预定义全局变量,代表了当前文件的完整路径和文件名,是指向当前正在执行PHP脚本的绝对路径和文件名的字符串。它是一个常量,引用它的值会返回当前文件名和完整路径的值。__FILE__的类型是string。
echo __FILE__;
上述代码的输出将会是执行该脚本的文件的完整路径和文件名。例如当前文件为/var/www/html/index.php,则输出结果为/var/www/html/index.php。
2. __FILE__的作用
2.1 可以被用来获取当前脚本所在的目录
我们可以使用__FILE__获取当前正在执行的PHP脚本所在的目录,如下所示:
$dir = dirname(__FILE__);
echo $dir;
上述代码将会输出当前脚本所在目录的绝对路径。dirname()函数返回指定路径的父目录路径。因此,此代码将返回当前文件所在目录的路径,比如/var/www/html。
2.2 可以用于构建包含文件和相对路径
__FILE__最常用于在PHP脚本内引用其他文件。假设我们的PHP脚本目录如下:/var/www/html/my_project, 如果我们在my_project/index.php文件内需要引用一个名为config.ini的文件(它位于/var/www/html/my_project/config目录中),可以用以下代码:
$config_path = dirname(__FILE__) . '/config/config.ini';
include_once($config_path);
上述代码使用__FILE__获取了当前正在执行的PHP脚本的文件路径,以及包含文件相对于该脚本的相对路径。因此,此代码将会引用/config/config.ini文件。
3. 在命名空间中使用__FILE__
如果你在使用命名空间,__FILE__可以使用多个不同的值。例如,如果我们在/var/www/html/my_project/index.php中使用如下命名空间:
namespace my_project;
echo __FILE__;
输出结果会是/var/www/html/my_project/index.php,这是因为文件的命名空间是my_project,与文件名相同。
4. 总结
在PHP中,__FILE__是一个特殊的预定义常量,它代表了当前文件的完整路径和文件名,可以用于构建包含文件和相对路径,获取当前脚本所在的目录,以及在命名空间中使用。