<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">请看下面例子:@H_403_4@/home/data/demo/test/a.PHP@H_4034@
<table cellspacing="0" bgcolor="#e0e0e0"><tr><td>
@H403_4@<?PHP@H_403_4@$the_fullname=FILE;@H403_4@$thedir=dirname(FILE);@H403_4@echo $the_full_name; //返回/home/data/demo/test/a.PHP@H_403_4@echo $thedir; //返回/home/data/demo/test@H403_4@?></td></tr></table>home/data/demo/b.PHP
<table cellspacing="0" bgcolor="#e0e0e0"><tr><td>
@H_403_4@PHP include "test/a.PHP";@H_403_4@echo $the_full_name; //返回/home/data/demo/@H_403_4@echo $the_dir; //返回/home/data/demo/test 而不是/home/data/demo/@H_403_4@?>
是test/a.PHP所在的路径 而不是/home/data/demo/b.PHP所在的路径
403_4@ __FILE__ 返回当前 路径+文件名@H_403_4@ dirname(__FILE__) 返回当前文件路径的 路径部分@H_403_4@ dirname(dirname(__FILE__));得到的是文件上一层目录名(不含最后一个“/”号)文件是 /home/data/demo/test.PHP ,则 @H_403_4@__FILE__ 得到的就是完整路径 即 /home/data/demo/test.PHP ,而@H_403_4@dirname(__FILE__)得到路径部分 即 /home/data/demo (后面没有“/”号)