superglobals variable

Posted on 15. Feb, 2009 by Yao Yuan in Programing

In PHP 4.2.0 and later, the default value for the PHP directive register_globals is off. This is a major change in PHP. Having register_globals off affects the set of predefined variables available in the global scope. For example, to get DOCUMENT_ROOT you’ll use $_SERVER['DOCUMENT_ROOT'] instead of $DOCUMENT_ROOT, or $_GET['id'] from the URL http://www.example.com/test.php?id=3 instead of $id, or $_ENV['HOME'] instead of $HOME.

For related information on this change, read the configuration entry for register_globals, the security chapter on Using Register Globals , as well as the PHP » 4.1.0 and » 4.2.0 Release Announcements.

Using the available PHP Reserved Predefined Variables, like the superglobal arrays, is preferred

中的超全局变量从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']等。

Related Posts

  1. variable variable, PHP and you
  2. Variable transmission Between two pages in php
  3. Variable type of php
  4. Widgetize non-widget Wordpress theme
  5. The use of varible in PHP

Related posts brought to you by Yet Another Related Posts Plugin.

Tags: , ,

Leave a reply