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教程有興趣的朋友有所幫助。 🎜 🎜 🎜