__FILE__与$_SERVER['SCRIPT_FILENAME']的区别
2012-11-09 10:24
375 查看
先看手册中的解释:
$_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径。Note:如果在命令行界面(Command Line Interface, CLI)使用相对路径执行脚本,例如 file.php 或 ../file.php,那么 $_SERVER['SCRIPT_FILENAME'] 将包含用户指定的相对路径。
__FILE__
文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
下面为例子:
在E:\AppServ\www\mypro\TP的目录下有两个文件demo.php 和 requireDemo.php
代码如下:
demo.php
<?php
require './requireDemo.php';
?>
requreiDemo.php
<?php
echo '__FILE__ 为:'.__FILE__;
echo '<br/>';
echo 'SCRIPT_FILENAME 为:'.$_SERVER['SCRIPT_FILENAME'];
?>
在浏览器访问demo.php,输出的结果为:
__FILE__ 为:E:\AppServ\www\mypro\TP\requireDemo.php
SCRIPT_FILENAME 为:E:/AppServ/www/mypro/TP/demo.php
由此可以看出__FILE__反应的是原始文件(被包含文件)的绝对路径及文件名;$_SERVER['SCRIPT_FILENAME']反应的是当前执行程序的绝对路径及文件名
$_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径。Note:如果在命令行界面(Command Line Interface, CLI)使用相对路径执行脚本,例如 file.php 或 ../file.php,那么 $_SERVER['SCRIPT_FILENAME'] 将包含用户指定的相对路径。
__FILE__
文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
下面为例子:
在E:\AppServ\www\mypro\TP的目录下有两个文件demo.php 和 requireDemo.php
代码如下:
demo.php
<?php
require './requireDemo.php';
?>
requreiDemo.php
<?php
echo '__FILE__ 为:'.__FILE__;
echo '<br/>';
echo 'SCRIPT_FILENAME 为:'.$_SERVER['SCRIPT_FILENAME'];
?>
在浏览器访问demo.php,输出的结果为:
__FILE__ 为:E:\AppServ\www\mypro\TP\requireDemo.php
SCRIPT_FILENAME 为:E:/AppServ/www/mypro/TP/demo.php
由此可以看出__FILE__反应的是原始文件(被包含文件)的绝对路径及文件名;$_SERVER['SCRIPT_FILENAME']反应的是当前执行程序的绝对路径及文件名
相关文章推荐
- __FILE__ 与 $_SERVER['SCRIPT_FILENAME']的区别
- PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
- 获取PHP文件绝对地址$_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
- PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
- PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
- __FILE__ 与 $_SERVER['SCRIPT_FILENAME']的区别
- $_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI']区别
- php $_SERVER['PHP_SELF'] $_SERVER['SCRIPT_NAME'] $_SERVER['REQUEST_URI']区别
- PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
- 146.PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
- __FILE__ 与 $_SERVER['SCRIPT_FILENAME']的区别
- PHP $_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 之间的区别
- __FILE__ 与 $_SERVER['SCRIPT_FILENAME']的区别
- PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别
- $_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']区别
- __FILE__与__DIR__与 getcwd()与$_SERVER['SCRIPT_FILENAME']之间的区别
- $_SERVER['SCRIPT_FILENAME'] 和__FILE__ 用法区别
- dirname(__FILE__)和$_SERVER['DOCUMENT_ROOT']的区别
- __FILE__ 与 $_SERVER['SCRIPT_FILENAME']的区别
- filegroup reference and partitioning scheme' is not supported in this version of sql server.