PHP $_SERVER 变量来标识请求的文件
PHP $_SERVER variable to identify file requested
在 PHP $_SERVER 变量中,四个变量引用请求的文件。:
["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"
Would/Could 这些数组成员中的任何一个都不是指通过 URL 请求的实际文件?例如,URL 重写,我没有经验或计划将其用于此项目。
我注意到 "REQUEST_URI" 还包括我不需要的 GET 变量。
如果您需要请求的实际文件,那么您应该使用 SCRIPT_FILENAME
(绝对文件系统路径)或 SCRIPT_NAME
(根目录相对文件系统路径)或...魔术常量 __FILE__
用于当前正在执行的脚本(但这不一定是用户请求的文件)。
Would/Could any of these array members not refer to the actual file requested via URL?
是的。
虽然 PHP_SELF
指的是所请求的文件,但它还可以包含 来自 URL 的其他路径名信息 (PATH_INFO
)。例如。 /file.php/foo/bar
.
REQUEST_URI
是被请求的 URL,所以这可能是完全不同的。只有当请求的 URL 直接映射到文件系统路径时,这些看起来才相似。例如,如果 URL /foo
内部将 重写为 /file.php
那么 REQUEST_URI
持有 /foo
,而不是 /file.php
.
在 PHP $_SERVER 变量中,四个变量引用请求的文件。:
["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"
Would/Could 这些数组成员中的任何一个都不是指通过 URL 请求的实际文件?例如,URL 重写,我没有经验或计划将其用于此项目。
我注意到 "REQUEST_URI" 还包括我不需要的 GET 变量。
如果您需要请求的实际文件,那么您应该使用 SCRIPT_FILENAME
(绝对文件系统路径)或 SCRIPT_NAME
(根目录相对文件系统路径)或...魔术常量 __FILE__
用于当前正在执行的脚本(但这不一定是用户请求的文件)。
Would/Could any of these array members not refer to the actual file requested via URL?
是的。
虽然 PHP_SELF
指的是所请求的文件,但它还可以包含 来自 URL 的其他路径名信息 (PATH_INFO
)。例如。 /file.php/foo/bar
.
REQUEST_URI
是被请求的 URL,所以这可能是完全不同的。只有当请求的 URL 直接映射到文件系统路径时,这些看起来才相似。例如,如果 URL /foo
内部将 重写为 /file.php
那么 REQUEST_URI
持有 /foo
,而不是 /file.php
.