二者都表明了本文件的绝对路径,区别在于,
$_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

__FILE__ 与 $_SERVER['SCRIPT_FILENAME']的区别的更多相关文章

  1. 详解__FILE__与$_SERVER['SCRIPT_FILENAME']的区别

    废话不多说 直接上测试代码: <?php //引入的是ceshi4文件夹下的ceshi4.php; require_once './ceshi4/ceshi4.php'; 下面是ceshi4文件 ...

  2. 获取文件绝对路径:__FILE__与$_SERVER[SCRIPT_FILENAME'']的区别

    1.获取路径 (1)__FILE__ 获取某文件在本地目录中的绝对路径,(也就是说,哪个文件执行这行代码,它就获取哪个文件的绝对路径) (2)$__SERVER['SCRIPT_FILENAME'] ...

  3. 获取PHP文件绝对地址$_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别

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

  4. PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别 有点像static 和 self的意思 !

    PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 通常情况下,PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 都会返回 PHP ...

  5. $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 区别

    PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别 PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 通常情况下,PHP ...

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

    $_SERVER['SCRIPT_FILENAME']          -------> 当前执行程序的绝对路径及文件名__FILE__                             ...

  7. $_SERVER['SCRIPT_NAME']、$_SERVER['SCRIPT_FILENAME']及__FILE__不同

    $_SERVER['SCRIPT_NAME'].$_SERVER['SCRIPT_FILENAME']及__FILE__不同 在PHP中,有时需要知道脚本所处的位置,这时会用到$_SERVER['SC ...

  8. PHP获取当前域名$_SERVER['HTTP_HOST']和$_SERVER['SERVER_NAME']的区别

    开发站群软件,用到了根据访问域名判断子站点的相关问题,PHP获取当前域名有两个变量 $_SERVER['HTTP_HOST'] 和 $_SERVER['SERVER_NAME'],两者的区别以及哪个更 ...

  9. php中time()与$_SERVER[REQUEST_TIME]用法区别

    简单的说time()与$_SERVER["REQUEST_TIME"]都是获得时间的,但time返回当前的 Unix 时间戳而$_SERVER["REQUEST_TIME ...

随机推荐

  1. 【转】MFC 数据绑定 DoDataExchange( )

    void CRegisterDialog::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DAT ...

  2. repo 安装

    repo是android用于管理git仓库的工具. 参考链接 http://www.cnblogs.com/xiaoerlang/p/3549156.html mkdir ~/bin export P ...

  3. Spring 4 官方文档学习(十一)Web MVC 框架之locales

    http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-localeresolve ...

  4. unity3d绘画手册-------地形各个参数解释

    关于Unity3D是什么.我就不多做解释了.由于工作原因,该系列原创教程不定期更新.每月必然有更新.谢谢各位. Unity地形:: 新建地形: <ignore_js_op> 如图在菜单中新 ...

  5. squid2.7安装与配置

    CleverCode近期研究了一下squid的安装与配置. 如今总结一下.分享给大家. 1 简单介绍 代理server英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squ ...

  6. Loadrunner中socket协议中的三个关联函数

    这3个函数其实都可以动态获取运行中收到的数据包中的数据,只要跟在要获取的收取数据包脚本后面即可.其中:lrs_save_searched_string和lrs_save_param如果buf_desc ...

  7. 制作一款3D炸弹超人游戏

    说起炸弹超人,相信很多朋友都玩过类似的游戏,其中最为人熟知的莫过于<泡泡堂>.该类型游戏需要玩家在地图中一边跑动一边放置炸弹,同时还要躲避敌方炸弹保护自己.最初的炸弹超人游戏都是2D的,今 ...

  8. 扩展方法和Lambda之练习手记

    扩展方法是我们日常开发当中所经常简化代码,提高性能和代码可读性的一个重要开发手段. 扩展方法是一个只能在静态类中声明的静态方法 Lambda 是一个表达式 ,学会了 可以使代码简洁,也是装13的利器. ...

  9. shell脚本中,for基于列表进行循环的实现方法

    需求描述: 在写脚本中需要这么个需求,需要对一个列表中的值进行循环 比如,列表中的值mysqld,zookeeper,hbase 简单来说,for基于列表值的循环. 脚本测试过程: 1.测试脚本 #! ...

  10. Storm-源码分析-Streaming Grouping (backtype.storm.daemon.executor)

    executor在发送outbounding message的时候, 需要决定发送到next component的哪些tasks 这里就需要用到streaming grouping,   1. mk- ...