zoukankan      html  css  js  c++  java
  • $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 区别

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

    PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__

    通常情况下,PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 都会返回 PHP 文件的完整路径(绝对路径)与文件名:

    <?php
    echo 'SCRIPT_FILENAME 为:',$_SERVER['SCRIPT_FILENAME'];
    echo '<br />';
    echo '__FILE__ 为:',__FILE__;
    ?>
    

    上述测试代码拷贝至 test.php 并访问该文件(http://127.0.0.1/php/test.php),得到如下结果:

    SCRIPT_FILENAME 为:E:/web/html/php/test.php
    __FILE__ 为:E:webhtmlphp	est.php 
    

    提示:在 windows 平台测试,得到结果如上所示可能会出现路径分隔符的细微差别。

    $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 区别

    尽管 $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 非常相似,但在文件被 include 或 require 包含的时候,二者还是有细微区别。

    将上述测试代码拷贝至 E:webhtmlphpcommoninc.php ,然后在刚才的 test.php 文件内包含 inc.php :

    <?php
    include 'common/inc.php';
    ?>
    

    这时候再访问 test.php 文件时,输出结果:

    SCRIPT_FILENAME 为:E:/web/html/php/test.php
    __FILE__ 为:E:webhtmlphpcommon	est.php 
    

    可见二者的差别是:$_SERVER['SCRIPT_FILENAME'] 反映的是当前执行程序的绝对路径及文件名;__FILE__ 反映的是原始文件(被包含文件)的绝对路径及文件名。

  • 相关阅读:
    HDU 2544 最短路
    HDU 3367 Pseudoforest
    USACO 2001 OPEN
    HDU 3371 Connect the Cities
    HDU 1301 Jungle Roads
    HDU 1879 继续畅通工程
    HDU 1233 还是畅通工程
    HDU 1162 Eddy's picture
    HDU 5745 La Vie en rose
    HDU 5744 Keep On Movin
  • 原文地址:https://www.cnblogs.com/clphp/p/5106284.html
Copyright © 2011-2022 走看看