当我希望我的脚本在链接和操作中引用自身时,我已经标准化了我的PHP编程以使用环境变量SCRIPT_NAME
。我知道PHP_SELF
有相同的信息,但我更熟悉SCRIPT_NAME
这个名字,因为它是在perl中使用的,并且更喜欢它的感觉,因为它似乎描述了资源更好(PHP_SELF
可以代表PHP可执行文件的路径,如果我只按名称去的话)。
但是,我刚刚注意到php.general新闻组上的一个帖子,其中有人问他们之间有什么区别。从语义上讲,没有;它们应该包含相同的信息。但是,从历史和技术上讲,是有的。SCRIPT_NAME
在CGI1.1规范中定义,因此是一个标准。但是,并不是所有的网络服务器都真正实现了它,因此它不一定可移植。另一方面,PHP_SELF
直接由PHP实现,只要您使用PHP编程,它就会一直存在。
猜猜我在更改一堆脚本时会有一些grep和sed…