详解PHP预定义超全局数组变量$_SERVER
作者:bea
PHP提供了几个预定义超全局数组变量,他们是$_SERVER,$_GET,$_POST,$_ENV,$_REQUEST,$_FILES,$_COOKIE,$_SESSION,$GLOBALS,这里我们来详细介绍$_SERVER这个超全局数组变量。
1,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI
3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径
4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名
实例:
1,http://www.xinge360.com/ (直接打开主页)
结果:
$_SERVER["QUERY_STRING"] = “”
$_SERVER["REQUEST_URI"] = “/”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”
2,http://www.xinge360.com/?p=222 (附带查询)
结果:
$_SERVER["QUERY_STRING"] = “p=222″
$_SERVER["REQUEST_URI"] = “/?p=222″
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”
3,http://www.xinge360.com/index.php?p=222&q=aichengxu
结果:
$_SERVER["QUERY_STRING"] = “p=222&q=aichengxu”
$_SERVER["REQUEST_URI"] = “/index.php?p=222&q=aichengxu”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”
$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.xinge360.com后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名
当前url:”http://”.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']
总结一下,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。
1.
$_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言
显示:zh-cn
2.
$_SERVER['REMOTE_ADDR'] //当前用户 IP 。
显示:127.0.0.1
3.
$_SERVER['REMOTE_HOST'] //当前用户主机名
显示:
4
$_SERVER['REQUEST_URI'] //URL
显示:/test.php
5
$_SERVER['REMOTE_PORT'] //端口。
显示:3864
6
$_SERVER['SERVER_NAME'] //服务器主机的名称。
显示:127.0.0.1
7
$_SERVER['PHP_SELF']//正在执行脚本的文件名
显示:/test.php
8
$_SERVER['argv'] //传递给该脚本的参数。
显示:ARRAY
9
$_SERVER['argc'] //传递给程序的命令行参数的个数。
显示:0
10
$_SERVER['GATEWAY_INTERFACE']//CGI 规范的版本。
显示: CGI/1.1
11
$_SERVER['SERVER_SOFTWARE'] //服务器标识的字串
显示:Apache/2.0.52 (Win32) PHP/5.2.1
12
$_SERVER['SERVER_PROTOCOL'] //请求页面时通信协议的名称和版本
显示:HTTP/1.1
13
$_SERVER['REQUEST_METHOD']//访问页面时的请求方法
显示:GET
14
$_SERVER['QUERY_STRING'] //查询(query)的字符串。
显示:
15
$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录
显示:D:/Program Files/Apache/www
16
$_SERVER['HTTP_ACCEPT'] //当前请求的 Accept: 头部的内容。
显示:*/*
17
$_SERVER['HTTP_ACCEPT_CHARSET'] //当前请求的 Accept-Charset: 头部的内容。
显示:
18
$_SERVER['HTTP_ACCEPT_ENCODING'] //当前请求的 Accept-Encoding: 头部的内容
显示:gzip,deflate
19
$_SERVER['HTTP_CONNECTION'] //当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
显示:Keep-Alive
20
$_SERVER['HTTP_HOST'] //当前请求的 Host: 头部的内容。
显示:127.0.0.1:8080
21
$_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址。
显示:http://127.0.0.1:8080/
22
$_SERVER['HTTP_USER_AGENT'] //当前请求的 User_Agent: 头部的内容。
显示:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
23
$_SERVER['HTTPS']//如果通过https访问,则被设为一个非空的值(on),否则返回off
显示:
24
$_SERVER['SCRIPT_FILENAME'] #当前执行脚本的绝对路径名。
显示:D:/Program Files/Apache/www/test.php
25
$_SERVER['SERVER_ADMIN'] #管理员信息
显示:w@w.com
26
$_SERVER['SERVER_PORT'] #服务器所使用的端口
显示:8080
27
$_SERVER['SERVER_SIGNATURE'] #包含服务器版本和虚拟主机名的字符串。
显示:Apache/2.0.52 (Win32) PHP/5.2.1 Server at 10.145.40.150 Port 8080
28
$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录)的基本路径。
显示:
29
$_SERVER['SCRIPT_NAME'] #包含当前脚本的路径。这在页面需要指向自己时非常有用。
显示 :/test.php
30
$_SERVER['PHP_AUTH_USER'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
显示:
31
$_SERVER['PHP_AUTH_PW'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
显示:
32
$_SERVER['AUTH_TYPE'] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型
如果你还是比较迷茫的话,建议你编写一个脚本,比如代码如下:
";
print_r($_SERVER);
echo "";
?>
根据输出结果与上面的对照介绍吧!
猜你喜欢
您可能感兴趣的文章:
- PHP编写的日历代码,代码分享
- PHP类使用php生成图片缩略图类
- 防SQL注入PHP过滤html字符串详解
- PHP实例实现剩余时间倒计时显示
- 改善PHP开发方式提高PHP开发效率
- 迅雷快车下载链接PHP代码
- php写的支持无限分类的代码
- 再次推荐一个PHP分页类代码
- global PHP的全局变量使用代码
- PHP操作mysql数据库常用函数分析
- PHP cookie实现访客访问次数的统计
- PHP图像各种处理代码图像处理类
- 正则表达式匹配字符串中图片
- php代码获得电脑上网网卡MAC地址
- PHP实例以sql文件导入导出mysql数据库
- 分享一个PHP写的计算页面执行时间类
- 使用PHP计算出页面的执行时间
- PHP cookie实例制作一个购物车
- PHP学习之cookie使用详情