之间有什么区别:
$_SERVER['SCRIPT_NAME']
和
$_SERVER['PHP_SELF']
谢谢。
之间有什么区别:
$_SERVER['SCRIPT_NAME']
和
$_SERVER['PHP_SELF']
谢谢。
前者是脚本名称(例如/foo.php
),后者是请求URI路径(例如/foo.php/123
)。
不完全如此。是的,PHP_SELF是从域的末尾到查询字符串的整个url路径,但是在mod_rewrite被执行之后并且在执行别名之前。 – 2015-12-18 20:49:25
它们应该包含相同的信息。然而,从历史和技术上讲,两者之间存在差异。
SCRIPT_NAME
在CGI 1.1规范中定义,因此是一个标准。这意味着无论您使用哪种脚本语言,它都应该可用。
PHP_SELF
直接由PHP实现,只要你用PHP编程,它就在那里。
“PHP_SELF”这个名称对于PHP来说是唯一的,但由于它是整个URL路径,它实际上是IETF中定义的一个标准,名称不同。 – 2015-12-18 20:52:05
大多数时候是一样的,但$_SERVER['SCRIPT_NAME']
比$_SERVER['PHP_SELF']
少欺骗性,所以你如果要重用某个输出上的数据应该使用SCRIPT_NAME。
检查that article获得的不同结果。
请参阅:http://stackoverflow.com/questions/279966/php-self-vs-path-info-vs-script-name-vs-request-uri – amosrivera
你也可能想看看神奇常数\ _ \ _ FILE__ - http://php.net/manual/en/language.constants.predefined.php – dqhendricks