PHP中的 $_SERVER 函数说明详解

用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;
}
原文地址:https://www.cnblogs.com/imnzq/p/6838505.html