PHP预定义变量总结

PHP预定义变量总结

PHP中预定义变量都是超全局变量,常见的有,$GLOBALS,$_SERVER,$_GET,$_POST,$_FILES,$REQUEST,$_SESSION,$_ENV,$_COOKIE,$php_errormsg,$HTTP_RAW_POST_DATA,$http_response_header,$argc,$argv。对于这些预定义变量,不建议在脚本中的任意地址直接使用或修改,最好以库的形式提供统一的规范化管理接口。

$GLOBALS

包含了全局变量的全局组合数组,其中变量的名字就是数组的键。这里不仅包括其它的预定义全局变量,同时也包含用户在脚本中自定义的全局变量。可以不使用global关键字在任何地方使用,不过不推荐在脚本中随意使用该变量。个人建议脚本中不要直接使用该变量。

$_SERVER

包含服务器和执行环境信息。该变量中的信息由Web服务器创建,由于不同服务器实现的标准或功能都不尽相同,很难保证每个服务器都提供全部或相同的信息。需要注意的信息见下表。

键名 作用
SERVER_ADDR 当前运行脚本所在的服务器的IP地址
SERVER_NAME 当前运行脚本所在服务器的主机名
REQUEST_METHOD 访问页面使用的请求方法,如,GET、HEAD、POST
REMOTE_ADDR 浏览当前页面的用户的IP地址
REQUEST_URI URI指定的访问页面,相对于服务器跟目录

$_GET

$_GET保存的是通过URL参数传递给当前脚本的变量的数组。这部分由客户端传递,Web服务器初步处理,最后发送给PHP脚本。

$_POST

存储当HTTP POST请求的Content-Type是application/x-www-form-urlencoded或multipart/form-data时以数组形式存储的客户端信息。

$_FILES

通过POST方法上传文件时,该变量保存上传文件相应信息。

$_REQUEST

默认情况下包含了$_GET,$_POST,$_COOKIE的数组。

$_SESSION

当前脚本可用SESSION变量的数组

$_COOKIE

通过HTTP Cookies方式传递给当前脚本的变量的数组。

$HTTP_RAW_POST_DATA

POST方式提交的原始数据,目前一般用php://input代替。这主要是用于处理Content-Type不是application/x-www-form-urlencoded和multipart/form-data时的数据,例如为application/json。

$argc

命令行下运行时脚本接受到的参数数目。

$argv

命令行下运行时脚本接受的参数的数组。

猜你喜欢

转载自my.oschina.net/taodf/blog/1816570