__FILE__ 与 $_SERVER['SCRIPT_FILENAME']的区别

二者都表明了本文件的绝对路径,区别在于,
$_SERVER['SCRIPT_FILENAME']指向当前执行脚本的绝对路径;
__FILE__指向当前文件的绝对路径;也就是写在哪个文件里就是哪里。

例子:

  
  
  
  
  1. // test.php 
  2. require 'common/inc.php'
  
  
  
  
  1. // common/inc.php 
  2. echo 'SCRIPT_FILENAME 为:' . $_SERVER['SCRIPT_FILENAME']; 
  3. echo '<br />'
  4. echo '__FILE__为:' . __FILE__

执行test.php,显示结果为:

SCRIPT_FILENAME 为:D:/AppServ/www/test.php
__FILE__为:D:\AppServ\www\common\inc.php

你可能感兴趣的:(PHP)