我个人理解:getcwd()会随着包含文件的改变而改变,而dirname(__FILE__)不会。即 getcwd() 表示获取当前执行文件的物理路径。
如 getcwd()显示:
/www/project/test/a.php
echo getcwd();
//echo /www/project/test
/www/project/b.php
include_once(test/a.php);
//echo /www/project
而dirname(__FILE__):
/www/project/test/a.php
echo dirname(__FILE__);
//echo /www/project/test
/www/project/b.php
include_once(test/a.php);
//echo /www/project/test
a.php include b.php
b.php getcwd -> a所在目录
b.php dirname(__FILE__) -> b所在目录