[转载][PHP]使用 PHP v4.2.0 及以后版本的注意事项

转载自: 中文 PHP 资讯站


从PHP 4.2.0版本开始中, PHP 指令 register_globals 的默认值为 off(在php.ini配置文件里). 这是 PHP 的一个主要变化。register_globals是干什么用的呢?它是PHP用来控制是否将EGPCS (Environment, GET, POST, Cookie, Server)变量是否注册为总体变量的。
例如,对于 http://www.xx.php?var=2 这里的var,在为 on 时,你只需用 $var 即可,但在 off 时,就必须用 $_GET["var"] 来接收了~ 这里的 $_GET 就是一个PHP超总体变量阵列。和它性质一样的还有:

  • $GLOBALS

 

包含一个引用指向每个当前脚本的全局范围内有效的变量。该阵列的键标为总体变量的 名称。从 PHP 3 开始存在 $GLOBALS 阵列。

 

  • $_SERVER

 

变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。等同于旧阵列 $HTTP_SERVER_VARS 阵列,但和 $_SERVER 不是一个变量,因为PHP处理它们的方式不同,下同。虽然$HTTP_SERVER_VARST和下面的$HTTP_*_VARS仍然可以使用,但绝不推 荐您再使用$HTTP_*_VARS.

 

  • $_GET

 

经由 HTTP GET 方法提交至脚本的变量。例如由 URL、表单的GET方式 产生的变量。使用方式:$_GET["xx"];

 

  • $_POST

 

经由 HTTP POST 方法提交至脚本的变量。例如由 表单的POST方式 产生的变量。使用方式:$_POST["xx"];

 

  • $_COOKIE

 

经由 HTTP Cookies 方法提交至脚本的变量。 例如读取COOKIE值的时候。

 

  • $_FILES

 

经由 HTTP POST 文件上传而提交至脚本的变量。我的另一篇文章 对文件上传处理过程的进一步说明 已经较详细地介绍它的用法,这里不再说明。

 

  • $_ENV

 

执行环境提交至脚本的变量。

 

  • $_REQUEST

 

经由任何用户输入机制提交至脚本的变量,包括 GET,POST,COOKIE等方式,因此该阵列并不值得信任。

 

  • $_SESSION

 

存放SESSION变量的阵列。你不必用session_regisger来注册某个变量,用 $_SESSION["xx"] 即包含有上述过程。

 

  1. No comments yet.

  1. No trackbacks yet.

return top

%d 位部落客按了赞: