欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php getcwd与dirname(__FILE__)区别详解

程序员文章站 2024-04-02 14:05:22
__file__是魔术常量,用于获取文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。 下面我们通过实例来介绍getcwd与dirname(__file...

__file__是魔术常量,用于获取文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

下面我们通过实例来介绍getcwd与dirname(__file__)区别。 

文件/folder/random/foo.php的代码如下:

<?php
echo getcwd() . "\n";
echo dirname(__file__) . "\n" ;
echo "-------\n";
include 'bar/bar.php';

文件/folder/random/bar/bar.php的代码如下:

<?php
echo getcwd() . "\n";
echo dirname(__file__) . "\n";

运行代码/folder/random/foo.php,结果为:

/folder/random
/folder/random
-------
/folder/random
/folder/random/bar

从上面实例可以看出, getcwd()获取的是当前运行脚本的目录,不管getcwd()是在被包含的文件里面还是在当前执行脚本文件里面,运行的结果不会发生任何变化。而__file__获取的是文件名称,如果用在被包含文件中,则返回被包含的文件名,如果直接用在当前运行脚本里面,则返回运行脚本的文件名称。

希望通过此文能帮助到大家,谢谢大家对本站的支持!