用php在开发软件的时候,我们经常用到 $_SERVER[]这个函数,今天就来讲下这个数组的值,方便以后使用:
A:
$_SERVER['ARGC'] #包含传递给程序的 命令行参数的个数(如果运行在命令行模式)。
$_SERVER['ARGV'] #传递给该 脚本的参数。
D:
$_SERVER['DOCUMENT_ROOT'] #当前 运行脚本所在的文档根目录。在服务器配置文件中定义。
G:
$_SERVER['GATEWAY_INTERFACE'] #服务器使用的 CGI 规范的版本。例如,“CGI/1.1”。
H:
$_SERVER['HTTP_ACCEPT'] #当前请求的 Accept: 头部的内容。
$_SERVER['HTTP_ACCEPT_CHARSET'] #当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。
$_SERVER['HTTP_ACCEPT_ENCODING'] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。
$_SERVER['HTTP_ACCEPT_LANGUAGE']#当前请求的 Accept-Language: 头部的内容。例如:“en”。
$_SERVER['HTTP_CONNECTION'] #当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
$_SERVER['HTTP_HOST'] #当前请求的 Host: 头部的内容。
P:
$_SERVER['PHP_SELF'] #当前正在执行 脚本的文件名,与 document root相关。
$_SERVER['PHP_SELF'] #当前正在执行 脚本的文件名,与 document root相关。
$_SERVER['PATH_TRANSLATED'] #当前 脚本所在文件系统(不是文档根目录)的基本路径。
Q:
$_SERVER['QUERY_STRING'] #查询(query)的字符串。
R:
$_SERVER['REQUEST_METHOD'] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
S:
$_SERVER['SCRIPT_FILENAME'] #当前执行 脚本的 绝对路径名。
$_SERVER['SERVER_ADMIN'] # 管理员信息
$_SERVER['SERVER_PORT'] #服务器所使用的端口
$_SERVER['SERVER_SIGNATURE'] #包含服务器版本和 虚拟主机名的字符串。
$_SERVER['SCRIPT_NAME'] #包含当前 脚本的路径。这在页面需要指向自己时非常有用。
下面给出一个实际开发中经常用到的方法,比如我们在浏览一个网页然后对其进行行为操作,那么系统会检测当前用户是否有登录,有登录则给其操作,没登录的话跳转到登录页面 并且登录成功以后回转到用户刚刚进行行为操作的页面,
那么我们现在就是要获取能够访问当前页面的URL,即:$_SERVER['REQUEST_URI']
/*
* 重写$_SERVER['REQUEST_URI']
*/
function request_uri()
{
if (isset($_SERVER['REQUEST_URI'])) {
$uri = $_SERVER['REQUEST_URI'];
} else {
if (isset($_SERVER['argv'])) {
$uri = $_SERVER['PHP_SELF'] . '?' . $_SERVER['argv'][0];
} else {
$uri = $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'];
}
}
return $uri;
}