关闭
> php教程 > php >

PHP预定义超全局变量$_SERVER参数详解

来源:网络 文章列表 2018-12-05 8
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。

我们首先打印下$_SERVER看下他是个什么东东。

echo '<pre>';
print_r($_SERVER);
exit;

大致就是上面的这样一个数组。下面我们来逐一分析下变量所对应的含义。我们上面的测试网址是 

下面列举几个常见的变量值

1、获取当前域名,请求头信息中的Host内容。

// 当前脚本所在文件系统 http://wuzhicms.zhanhanjie.com/api/index.php?id=100
echo $_SERVER['HTTP_HOST'];  // wuzhicms.zhanhanjie.com

2、当前运行脚本所在的根目录

// 当前运行脚本所在的根目录
echo $_SERVER['DOCUMENT_ROOT']; //  D:/phpStudy/WWW/wuzhicms

 3、当前脚本路径,根目录之后的目录

// 当前脚本路径,根目录之后的目录 http://wuzhicms.zhanhanjie.com/api/index.php?id=100
echo $_SERVER["REQUEST_URI"]; // /api/index.php?id=100

4、服务器请求时?后面的参数

// 服务器请求时?后面的参数。 http://wuzhicms.zhanhanjie.com/api/index.php?id=100
echo $_SERVER["QUERY_STRING"]; // id=100

5、当前正在执行脚本的文件名

// 服务器请求时?后面的参数。 http://wuzhicms.zhanhanjie.com/api/index.php?id=100
echo $_SERVER["PHP_SELF"]; // /api/index.php

6、获取服务器端口号

// 服务器端口
echo $_SERVER["SERVER_PORT"]; // 80

7、当前运行脚本的服务器的ip地址

// 服务器端口
echo $_SERVER["SERVER_ADDR"]; // 127.0.0.1

8、服务器通信协议,是http或https

// 服务器请求时?后面的参数。 http://wuzhicms.zhanhanjie.com/api/index.php?id=100
echo $_SERVER["REQUEST_SCHEME"]; //  http

以下汇总,大家需要什么自己查找吧!

$_SERVER['HTTP_HOST']    // 请求头信息中的Host内容,获取当前域名。
$_SERVER["SERVER_NAME"]  //输出配置文件httpd.conf中的ServerName,一般情况下与HTTP_HOST值相同,但如果服务器端口不是默认的80端口,或者协议规范不是HTTP/1.1时,HTTP_HOST会包含这些信息,而SERVER_NAME不一定包含。(主要看配置文件的设置)。
$_SERVER["HTTP_USER_AGENT"]  //获取用户相关信息,包括用户浏览器、操作系统等信息。
$_SERVER['HTTP_ACCEPT']  //当前请求的ACCEPT头部信息。
$_SERVER["HTTP_ACCEPT_LANGUAGE"]  //这个值是由浏览器发送,表明用户默认的语言设置,后面的q值表示用户对该语言的喜好程度。
$_SERVER["HTTP_ACCEPT_ENCODING"]  //大部分的现代浏览器都支持gzip压缩,并会把这一信息报告给服务器。这时服务器就会压缩过的HTML发送给浏览器。这可以减少近80%的文件大小,以节省下载时间和带宽。
$_SERVER["HTTP_COOKIE"]  //浏览器的cookie信息。
$_SERVER["HTTP_CONNECTION"]  //当前请求的连接情况。
$_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS"]  // 表示浏览器可读懂服务器发过来的请求,
$_SERVER["HTTP_CACHE_CONTROL"]  // 表示浏览器是否会缓存这个页面信息。
$_SERVER["PATH"]  // 当前脚本所在文件系统。
$_SERVER["SystemRoot"]  // 当前服务器的操作系统。
$_SERVER["COMSPEC"]  // 指向cmd.exe的路径。
$_SERVER["PATHEXT"]  // 环境变量设置。
$_SERVER["WINDIR"]  // 脚本指向的系统目录。
$_SERVER["SERVER_SIGNATURE"]  // 包含服务器版本和虚拟主机名的字符串。
$_SERVER["SERVER_SOFTWARE"]  // 服务器软件配置信息。
$_SERVER["SERVER_ADDR"]    // 当前运行脚本的服务器的ip地址。
$_SERVER["SERVER_PORT"]    // 服务器端口。
$_SERVER["REMOTE_ADDR"]    // 浏览网页的用户ip。
$_SERVER["DOCUMENT_ROOT"]  // 当前运行脚本所在的根目录。
$_SERVER["REQUEST_SCHEME"]  // 服务器通信协议,是http或https。
$_SERVER["CONTEXT_PREFIX"]  // 前缀。
$_SERVER["CONTEXT_DOCUMENT_ROOT"]  // 当前脚本所在的文档根目录。
$_SERVER["SERVER_ADMIN"]       // 服务器管理员信息。
$_SERVER["SCRIPT_FILENAME"]    // 当前执行脚本的绝对路径。
$_SERVER ["REMOTE_PORT"]       // 用户连接到服务器时所使用的端口。
$_SERVER["GATEWAY_INTERFACE"]  // 服务器使用的CGI规范的版本。
$_SERVER["SERVER_PROTOCOL"]  // 请求页面时通信协议的名称和版本。
$_SERVER["REQUEST_METHOD"]  // 请求提交数据的方式。
$_SERVER["QUERY_STRING"]    // 服务器请求时?后面的参数。
$_SERVER["REQUEST_URI"]     // 当前脚本路径,根目录之后的目录。
$_SERVER["SCRIPT_NAME"]     // 当前脚本的路径。这在页面需要指向自己时非常有用。
$_SERVER["PHP_SELF"]        // 当前正在执行脚本的文件名。
$_SERVER["REQUEST_TIME"]    // 得到请求开始时的时间戳。

 

阿里云618优惠卷大放送

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论