二者都表明了本文件的绝对路径,区别在于, $_SERVER['SCRIPT_FILENAME']指向当前执行脚本的绝对路径; __FILE__指向当前文件的绝对路径;也就是写在哪个文件里就是哪里。
例子:
// test.php require 'common/inc.php';
// common/inc.php echo 'SCRIPT_FILENAME 为:' . $_SERVER['SCRIPT_FILENAME']; echo '<br />'; echo '__FILE__为:' . __FILE__;
执行test.php,显示结果为:
SCRIPT_FILENAME 为:D:/AppServ/www/test.php __FILE__为:D:\AppServ\www\common\inc.php