PHP预定义超全局变量$_SERVER参数详解
$_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"] // 得到请求开始时的时间戳。
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论