自php 4.2.0 开始,register_globals 的默认值为 off,如此,以前很多可以直接使用的变量,如 $php_self 或设定的session变量都不能用 “$变量名”的形式访问了,可能会带来诸多不便,但却有助于安全性的提高。自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']等。