获取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:\web\html\php\test.php

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

$_SERVER[‘SCRIPT_FILENAME‘] 与 __FILE__ 区别

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

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

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

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

SCRIPT_FILENAME 为:E:/web/html/php/test.php
__FILE__ 为:E:\web\html\php\common\test.php

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

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

时间: 2024-07-31 09:12:05

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

PHP $_SERVER[&#39;SCRIPT_FILENAME&#39;] 与 __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/t

$_SERVER[&#39;SCRIPT_FILENAME&#39;] 与 __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 />'; ech

php$_SERVER[&#39;SCRIPT_NAME&#39;]和__FILE__的区别

$_SERVER['SCRIPT_FILENAME']          -------> 当前执行程序的绝对路径及文件名__FILE__                                                 -------> 原始文件(被包含文件)的绝对路径及文件名 eg:假设web根目录是 e:/myweb先建立 e:/myweb/index.php内容是:<?php require 'other/index2.php'; ?>再建立 e:/myweb

获取文件绝对路径:__FILE__与 $_SERVER[SCRIPT_FILENAME&#39;&#39;] 的 区别

__FILE__ :  获取某文件在本地目录中的绝对路径,(也就是说,哪个文件执行这行代码,它就获取哪个文件的绝对路径) $__SERVER['SCRIPT_FILENAME']  :  获取当前url路由的绝对路径(也就是说,我们在Url中,访问的是哪个文件,它就获取这个文件的绝对路径) 获取文件绝对路径:__FILE__与 $_SERVER[SCRIPT_FILENAME''] 的 区别 原文地址:https://www.cnblogs.com/wangshuazi/p/11117627.h

详解__FILE__与$_SERVER[&#39;SCRIPT_FILENAME&#39;]的区别

废话不多说 直接上测试代码: 1 <?php 2 //引入的是ceshi4文件夹下的ceshi4.php; 3 require_once './ceshi4/ceshi4.php'; 下面是ceshi4文件夹下的ceshi4.php: echo 'SCRIPT_FILENAME为:'. $_SERVER['SCRIPT_FILENAME']; echo '<br/>';echo '__FILE__为:'. __FILE__;//都是根目录开始echo '<br/>';echo

__FILE__ $_SERVER[&#39;PHP_SELF&#39;] $_SERVER[&#39;SCRIPT_NAME&#39;] $_SERVER[&#39;SCRIPT_FILENAME&#39;] 的区别

echo "<strong>"; echo "__FILE__:".__FILE__;echo "<br/>"; echo "PHP-SELF:".$_SERVER['PHP_SELF'];echo "<br/>"; echo "name:".$_SERVER['SCRIPT_NAME'];echo "<br/>"; e

php dirname(__FILE__) 获取当前文件的绝对路径

dirname(__FILE__) 取到的是当前文件的绝对路径,也就是说,比起相对路径,查找速度是最快的. 比如当前文件是放在(d:\www\)下,文件名是test.php. 测试的代码如下: 复制代码 代码如下: <?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ echo dirname(dirname(__FILE__)); /

PHP获取当前文件路径信息的方法

文件名  test.php 1.__FILE__ 获取 “路径 + 文件名” : /var/www/test/test.php  echo __FILE__; //取得当前文件的路径:用魔术常量 __FILE__,这里的路径包含了文件名 2.basename获取 “文件名 ”: test.php  echo basename(__FILE__); 3.basename获取“不含扩展名的文件名”:test  echo basename(__FILE__, '.php'); 4.dirname获取“

$_SERVER[&#39;SCRIPT_FLENAME&#39;]与__FILE__

$_SERVER['SCRIPT_FILENAME'] 反映的是当前执行程序的绝对路径及文件名:__FILE__ 反映的是原始文件(被包含文件)的绝对路径及文件名. $_SERVER['SCRIPT_FLENAME']与__FILE__