php __FILE__和$_SERVER['SCRIPT_FILENAME']区别

假设有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__ 原始文件(被包含文件)的绝对路径及文件名

原文地址:https://www.cnblogs.com/loveyouyou616/p/2801380.html