假设有a.php和b.php2个文件,分别位于E:/wamp/www/Text/
a.php
echo $_SERVER['SCRIPT_FILENAME'].'<br/>';
echo __FILE__;
执行a.php 得到的是
E:/wamp/www/Text/a.php ($_SERVER['SCRIPT_FILENAME'])
E:\wamp\www\Text\a.php (__FILE__)
b.php
require 'a.php';
执行b.php得到的是
E:/wamp/www/Text/b.php ($_SERVER['SCRIPT_FILENAME'])
E:\wamp\www\Text\a.php (__FILE__)
由此例可以看出:
$_SERVER['SCRIPT_FILENAME'] 反映的是当前执行程序的绝对路径及文件名
__FILE__ 原始文件(被包含文件)的绝对路径及文件名