PHP中的超全局变量



PHP中的超全局变量 从PHP 4.2.0 开始,register_globals 的默认值为 off,这样一来,以前的很多可以直接使用的变量,如 $PHP_SELF 或者你设定的SESSION变量都不能用 “$变量名”的形式访问了,这可能会给你带来很多不变,但却有助于安全性的提高 。访问这些变量,你需要使用PHP 超全局变量,如下:

$_SERVER
变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联 。类似于旧数组 $HTTP_SERVER_VARS 数组 。以前的$PHP_SELF对应$_SERVER[PHP_SELF],你可以使用phpinfo来查看你的$_SERVER变量 。

$_GET
经由 HTTP GET 方法提交至脚本的变量 。类似于旧数组 $HTTP_GET_VARS 数组 。

$_POST
经由 HTTP POST 方法提交至脚本的变量 。类似于旧数组 $HTTP_POST_VARS 数组 。

$_COOKIE
经由 HTTP Cookies 方法提交至脚本的变量 。类似于旧数组 $HTTP_COOKIE_VARS 数组 。

$_SESSION
当前注册给脚本会话的变量 。类似于旧数组 $HTTP_SESSION_VARS 数组 。

$_FILES
经由 HTTP POST 文件上传而提交至脚本的变量 。类似于旧数组 $HTTP_POST_FILES 数组 。

$_ENV
执行环境提交至脚本的变量 。类似于旧数组 $HTTP_ENV_VARS 数组 。

====================================================================
对于$_FILES变量:(文件域字段为“myfile”)

$_FILES[myfile][name]  
客户端机器文件的原名称(包括路径) 。

$_FILES[myfile][type]  
文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif” 。

$_FILES[myfile][size]  
已上传文件的大小,单位为字节 。  

$_FILES[myfile][tmp_name]  
文件被上传后在服务端储存的临时文件名(包括路径) 。

$_FILES[myfile][error]  
和该文件上传相关的错误代码 。[error] 是在 PHP 4.2.0 版本中增加的 。  

当 php.ini 中的 register_globals 被设置为 on 时,$myfile_name 等价于 $_FILES[myfile][name],$myfile_type 等价于 $_FILES[myfile][type]等 。