PHP $_SERVER['PHP_SELF'] $_SERVER['SCRIPT_NAME'...

$_SERVER['PHP_SELF']   当前执行脚本的文件名称   与document_root 相关  也就是和网站的根目录有关     输出文件对于网站根目录的位置信息  如果 PHP 以命令行方式运行,该变量在 PHP 4.3.0 之前无效。

$_SERVER['SCRIPT_NAME']   当前执行脚本的路径

一般情况下$_SERVER['PHP_SELF']  与 $_SERVER['SCRIPT_NAME']  没有什么区别,但是如果PHP是以CGI模式运行的话两者就有差异。

$_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地址

$_SERVER['SCRIPT_FILENAME']    当前执行脚本的绝对路径名       输出文件在硬盘中所处绝对路径

__FILE__    文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。

$_SERVER['SCRIPT_FILENAME']   和   __SELF__     都是返回文件的绝对路径,两者区别在于 __FILE__ 如果在包含文件中的话  输出的是被包含文件的绝对路径。


你可能感兴趣的:(PHP)