$_SERVER['PHP_SELF'] 當前執行腳本的文件名稱 與document_root 相關 也就是和網站的根目錄有關 輸出文件對於網站根目錄的位置信息 若是 PHP 以命令行方式運行,該變量在 PHP 4.3.0 以前無效。 git
$_SERVER['SCRIPT_NAME'] 當前執行腳本的路徑 github
通常狀況下$_SERVER['PHP_SELF'] 與 $_SERVER['SCRIPT_NAME'] 沒有什麼區別,可是若是PHP是以CGI模式運行的話二者就有差別。 web
$_SERVER['SCRIPT_NAME'] does a similar thing to $_SERVER['PHP_SELF'] except it is defined in the CGI standard. Many web servers, by defualt, don't expose PHP_SELF when using CGI/FastCGI. They do expose SCRIPT_NAME, so this is a better choice to use.
https://github.com/mantisbt/mantisbt/commit/ce27f552b438b25a56d11f3f2950088a64c8f329 網站
$_SERVER['REQUEST_URL'] 當前執行腳本的URL地址 相對網站跟目錄的URL地址 this
$_SERVER['SCRIPT_FILENAME'] 當前執行腳本的絕對路徑名 輸出文件在硬盤中所處絕對路徑 spa
__FILE__ 文件的完整路徑和文件名。若是用在包含文件中,則返回包含文件名。自 PHP 4.0.2 起,__FILE__ 老是包含一個絕對路徑,而在此以前的版本有時會包含一個相對路徑。 命令行
$_SERVER['SCRIPT_FILENAME'] 和 __SELF__ 都是返回文件的絕對路徑,二者區別在於 __FILE__ 若是在包含文件中的話 輸出的是被包含文件的絕對路徑。 code