在PHP变量中,四个变量引用所请求的文件:
["SCRIPT_FILENAME"]=> string(21) "/webroot/file.php"
["REQUEST_URI"]=> string(9) "/file.php?param=valyou"
["SCRIPT_NAME"]=> string(9) "/file.php"
["PHP_SELF"]=> string(9) "/file.php"
这些数组成员中的任何一个不会引用通过URL请求的实际文件吗?例如,URL重写,我没有使用这个项目的经验或计划。
我注意到"REQUEST_URI“还包括GET变量,我不需要这些变量。
发布于 2018-10-09 11:44:07
如果您需要请求的实际文件,那么您应该使用SCRIPT_FILENAME
(绝对文件系统路径)或SCRIPT_NAME
(根相对文件系统路径)或...the魔术常量__FILE__
来执行当前脚本(但这并不一定是用户请求的文件)。
这些数组成员中的任何一个不会引用通过URL请求的实际文件吗?
是。
虽然PHP_SELF
引用所请求的文件,但它也可以包含来自URL的附加路径名信息(PATH_INFO
)。例如:/file.php/foo/bar
。
REQUEST_URI
是请求的URL,所以这可能完全不同。只有当请求的URL直接映射到文件系统路径时,它们才会看起来类似。例如,如果URL /foo
内部重写到/file.php
,那么REQUEST_URI
保存/foo
,而不是/file.php
。
https://stackoverflow.com/questions/52719622
复制相似问题