__FILE__ 和 dirname() 函数从 PHP 4.0.2 就开始启用。
__FILE__表示当前所在文件的绝对路径包括文件名,如D:\WWW\WWW\BLOG\controllers\AbcController.php
basename(__FILE__)表示当前文件的文件名称(包括扩展名),如AbcController.php
dirname() 函数返回路径中的目录部分(表示当前文件的绝对路径)
dirname(__FILE__);一般会返回文件所在的当前目录到系统根目录的一个目录结构,即文件所在层目录名,不会返回当前的文件名称。如D:\WWW\WWW\BLOG\controllers
如果重复一次可以把目录往上提升一个层次:比如:$d = dirname(dirname(__FILE__));
其实就是把一个目录给dirname()做参数了。因为dirname()返回最后的目录不带\\或者是/,
所以重复使用的时候可以认为dirname()把最下层的目录当成文件名来处理了。照常返回当前
目录的上级目录。这样重复就得到了它的上一级的目录。如D:\WWW\WWW\BLOG
__DIR__ 变量则是 PHP5.3.0 新增的,获取当前PHP文件所在目录的绝对路径,如D:\WWW\WWW\BLOG\controllers
所以,如果你的PHP版本大于等于PHP5.3.0,建议使用 __DIR__。否则,最好还是用 dirname(__FILE__),以确保程序不会出错。