首頁 > 後端開發 > php教程 > PHP $_SERVER[SCRIPT_FILENAME] 與 __FILE__ 的差別

PHP $_SERVER[SCRIPT_FILENAME] 與 __FILE__ 的差別

WBOY
發布: 2016-08-08 09:19:41
原創
1026 人瀏覽過

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:webhtmlphpcommoninc.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 
登入後複製
可見二者此時再造訪test.php 檔案時,輸出結果:

rrreee可見二者此時再造訪test.php 檔案時,輸出結果:rrreee

可見二者此時再造訪test.php 檔案時,輸出結果:

rrreee的差異是:

$_SERVER['SCRIPT_FILENAME'] 反映的是目前執行程式的絕對路徑及檔案名稱;__FILE__ 反映的是原始檔案(被包含檔案)的絕對路徑及檔案名稱。

🎜 以上就介紹了PHP $_SERVER[SCRIPT_FILENAME] 與 __FILE__ 的區別,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。 🎜 🎜 🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板