# 超全局数组变量 [TOC] 超全局数组变量是变量作用域中始终可以用的内置变量,即预定义变量,变量作用域下篇会说 | 单词 | 含义 | | --- | --- | | $\_SERVER | 服务器和执行环境信息 | | $\_REQUEST | 包含了$\_GET,$\_POST和$\_COOKIE的数组 | | $\_GET | 通过URL参数传递给当前脚本的变量的数组 | | $\_POST | 通过HTTP POST 方法传递给当前脚本的变量的数组 | | $\_FILES | 通过HTTP POST 方式上传到当前脚本的文件的数组 | | $\_ENV | 通过环境方式传递给当前脚本的变量的数组 | | $GLOBALS | 一个包含了全部变量的全局组合数组 | | $\_COOKIE | 通过HTTP Cookies方式传递给当前脚本的变量的数组 | | $\_SESSION | 当前脚本可用SESSION变量的数组 | ## $\_SERVER $\_SERVER 数组变量,主要用来获取客户端与服务器端环境信息 ### $\_SERVER 常用的参数 | 常用参数 | 含义 | | --- | --- | | REQUEST\_URI | URL | | PHP\_SELF | 正在执行脚本的文件名 | | HTTP\_HOST | 正在浏览当前页面用户的主机名 | | REMOTE\_ADDR | 正在浏览当前页面用户的 IP 地址 | | REQUEST\_METHOD | 访问页面时的请求方法 | | SERVER\_NAME | 当前脚本运行服务器的主机名 | | SERVER\_ADDR | 当前脚本所在的服务器IP | ``` <?php # 语法 $_SERVER['HTTP_HOST']; ``` ## $\_GET >[info] 客户端向服务器端传递数据,最常用的二种方式:GET与POST GET传递数据的特点:不安全,数据量小,只能发送**字符串**数据。$\_GET主要用来获取通过URL传递过来的GET参数数据 ``` <?php # 语法 $_GET['获取传递GET数据'] ``` ## $\_POST POST传递数据的特点:安全性大,数据量大,**发送数据类型不限**。$\_POST 主要用来获取表单提交的数据 ``` <?php # 语法 $POST['获取表单提交数据'] ``` ## $\_REQUEST REQUEST包含了GET,POST,他们二个能获取的数据,用REQUEST都能获取得到 ``` <?php # 语法 $_REQUEST['获取GET/POST数据'] ``` ## GET与POST和REQUEST的区别 * [ ] $\_GET变量接受所有以get方式发送的请求,及浏览器地址栏中的?之后的内容 * [ ] $\_POST变量接收所有以post方式发送的请求,例如一个form以method=post提交,提交后php会处理post过来的全部变量 * [ ] $\_REQUEST支持两种方式发送过来的请求,即post和get它都可以接收,显示不显示要看传递方法,get会显示在url中(有字符数限制),post不会在url中显示,可以传递任意多的数据(只要服务器支持) >[info] $\_REQUEST具用$\_POST\[\] $\_GET\[\]的功能,但是$\_REQUEST\[\]比较慢。通过POST和GET方法提交的所有数据都可以通过$\_REQUEST数组获得