dirname(__FILE__) 的使用总结

发现网上找了很多文章都是错误的,特别验证后发出来:

dirname(__FILE__)
php中定义了一个很有用的常数,即:__file__

这个内定常数是所在php程序文件的完整路径(路径+文件名)。

即使这个文件被其他文件引用(include或require),__file__始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。

请看下面例子:

F:\Modoer_2.6_SC_UTF8\upload\test\a.php

<?php
$the_full_name=__FILE__;
$the_dir=dirname(__FILE__);
echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php
echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test
?>


F:\Modoer_2.6_SC_UTF8\upload\b.php
<?php

include "test/a.php";//返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.phpF:\Modoer_2.6_SC_UTF8\upload\test

echo $the_full_name; //返回:F:\Modoer_2.6_SC_UTF8\upload\test\a.php
echo $the_dir; //返回:F:\Modoer_2.6_SC_UTF8\upload\test
?> 

简单地说:
__FILE__ 返回其所在文件的路径+文件名
dirname(__FILE__) 返回__FILE__所在文件的路径部分
dirname(dirname(__FILE__));得到的是__FILE__所在文件的上一层目录名(不含最后一个“\”号)

例如,当前文件是 F:\Modoer_2.6_SC_UTF8\upload\test\a.php,则
__FILE__ 得到的就是完整路径 即  F:\Modoer_2.6_SC_UTF8\upload\test\a.php ,而
dirname(__FILE__)得到路径部分 即  F:\Modoer_2.6_SC_UTF8\upload\test

dirname(dirname(__FILE__)),即:F:\Modoer_2.6_SC_UTF8\upload

posted @ 2015-07-16 13:03  做个好男人  阅读(7564)  评论(0编辑  收藏  举报