• PHP $_SERVER详解

    $_SERVER 是 PHP 预定义变量之一,可以直接使用,它是一个包含了诸如头信息(header)、路径(path)及脚本位置(script locations)信息的数组。

    $_SERVER 数组中的元素由 Web 服务器创建,但不能保证每个服务器都提供全部元素,有的服务器可能会忽略一些,或者提供一些没有在这里列举出来的元素。

    $_SERVER数组部分元素如表所示。

    $_SERVER 数组元素
    数组元素 说明
    $_SERVER['PHP_SELF'] 当前执行脚本的文件名,与 document root 有关。例如,在地址为 http://c.biancheng.net/test.php/foo.bar 的脚本中使用 $_SERVER['PHP_SELF'] 将得到 /test.php/foo.bar
    $_SERVER['SERVER_ADDR'] 当前运行脚本所在服务器的 IP 地址
    $_SERVER['SERVER_NAME'] 当前运行脚本所在服务器的主机名。如果脚本运行于虚拟主机中,该名称就由那个虚拟主机所设置的值决定
    $_SERVER['SERVER_PROTOCOL'] 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”
    $_SERVER['REQUEST_METHOD'] 访问页面使用的请求方法。例如“GET”“HEAD”“POST”“PUT”
    $_SERVER['DOCUMENT_ROOT'] 当前运行脚本所在的文档根目录。在服务器配置文件中定义
    $_SERVER['HTTP_ACCEPT_LANGUAGE'] 当前请求头中 Accept-Language: 项的内容(如果存在)。例如,“en”
    $_SERVER['REMOVE_ADDR'] 浏览当前页面的用户 IP 地址,注意与 $_SERVER['SERVER_ADDR'] 的区别
    $_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径
    $_SERVER['SCRIPT_NAME'] 包含当前脚本的路径
    $_SERVER['REQUEST_URI'] URI 用来指定要访问的页面。例如,“index.html”
    $_SERVER['PATH_INFO'] 包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息(如果存在)。例如,当前脚本是通过 URL http://c.biancheng.net/php/path_info.php/some/stuff?foo=bar 被访问的,那么 $_SERVER['PATH_INFO'] 将包含 /some/stuff

    在浏览器打印出 $_SERVER 数组的代码如下:

    <?php
    print_r($_SERVER);
    ?>

    浏览器的输出结果如下:

    Array
    (
        [HTTP_HOST] => localhost
        [HTTP_CONNECTION] => keep-alive
        [HTTP_CACHE_CONTROL] => max-age=0
        [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9, image/webp,*/*;q=0.8
        [HTTP_UPGRADE_INSECURE_REQUESTS] => 1
        [HTTP_USER_AGENT] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
        [HTTP_ACCEPT_ENCODING] => gzip, deflate, sdch
        [HTTP_ACCEPT_LANGUAGE] => zh-CN,zh;q=0.8
        [HTTP_COOKIE] => PHPSESSID=e1bbc84e23bf85691e7c5a4ab07ee0de; pgv_pvi=4369311744; pgv_si=s1775918080; CNZZDATA155540=cnzz_eid%3D1811041545- 1463297631-%26ntime%3D1463303031
        [PATH] => /usr/bin:/bin:/usr/sbin:/sbin
        [SERVER_SIGNATURE] =>
        [SERVER_SOFTWARE] => Apache/2.4.16 (Unix) PHP/7.0.5
        [SERVER_NAME] => localhost
        [SERVER_ADDR] => ::1
        [SERVER_PORT] => 80
        [REMOTE_ADDR] => ::1
        [DOCUMENT_ROOT] => /Library/WebServer/Documents
        [REQUEST_SCHEME] => http
        [CONTEXT_PREFIX] =>
        [CONTEXT_DOCUMENT_ROOT] => /Library/WebServer/Documents
        [SERVER_ADMIN] => you@example.com
        [SCRIPT_FILENAME] => /Library/WebServer/Documents/book/str.php
        [REMOTE_PORT] => 59377
        [GATEWAY_INTERFACE] => CGI/1.1
        [SERVER_PROTOCOL] => HTTP/1.1
        [REQUEST_METHOD] => GET
        [QUERY_STRING] =>
        [REQUEST_URI] => /book/str.php
        [SCRIPT_NAME] => /book/str.php
        [PHP_SELF] => /book/str.php
        [REQUEST_TIME_FLOAT] => 1463828978.149
        [REQUEST_TIME] => 1463828978
        [argv] => Array
        (
        )
        [argc] => 0
    )

更多...

加载中...