一般来说,我们可以这样写:
<?php echo $_SERVER['DOCUMENT_ROOT'] ?>
<?php echo dirname(__FILE__) ?>
<?php echo (__FILE__) ?>
如果这段代码在C:\wamp\www\index.php中,会显示如下结果
C:/wamp/www/
C:\wamp\www
C:\wamp\www\photolist.php
手册里是这样介绍__FILE__的:
文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。
如果不注意这段话的话,肯定会有些人会说
$_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF']和__FILE__是一样的,因为都是得到当前文件的路径,这在一些方面是没有错的,但是当本页被其他页面include的话,就完全不一样了。