<p style="text-indent: 2em">PHP中定义了一个很有用的常数,即
<p style="text-indent: 2em">file
<p style="text-indent: 2em">这个内定常数是当前PHP程序的就是完整路径(路径+文件名)。
<p style="text-indent: 2em">即使这个文件被其他文件引用(include或require),file始终是它所在文件的完整路径,而不是引用它的那个文件完整路径。
<p style="text-indent: 2em">请看下面例子:
/home/data/demo/test/a.PHP
<table cellspacing="0" bgcolor="#e0e0e0"><tr><td>
<?PHP
$the_full_name=FILE;
$the_dir=dirname(FILE);
echo $the_full_name; //返回/home/data/demo/test/a.PHP
echo $the_dir; //返回/home/data/demo/test
?></td></tr></table>home/data/demo/b.PHP
<table cellspacing="0" bgcolor="#e0e0e0"><tr><td>
PHP include "test/a.PHP";
echo $the_full_name; //返回/home/data/demo/
echo $the_dir; //返回/home/data/demo/test 而不是/home/data/demo/
?>
是test/a.PHP所在的路径 而不是/home/data/demo/b.PHP所在的路径
__FILE__ 返回当前 路径+文件名dirname(__FILE__) 返回当前文件路径的 路径部分
dirname(dirname(__FILE__));得到的是文件上一层目录名(不含最后一个“/”号)
文件是 /home/data/demo/test.PHP ,则
__FILE__ 得到的就是完整路径 即 /home/data/demo/test.PHP ,而
dirname(__FILE__)得到路径部分 即 /home/data/demo (后面没有“/”号)