php – 使用$GLOBALS [‘HTTP_GET_VARS’]已被弃用?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用$GLOBALS [‘HTTP_GET_VARS’]已被弃用?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1710字,纯文字阅读大概需要3分钟。
内容图文
![php – 使用$GLOBALS [‘HTTP_GET_VARS’]已被弃用?](/upload/InfoBanner/zyjiaocheng/699/e7770624e8684ab2aaef241434c7f40f.jpg)
我知道$HTTP_GET_VARS的使用已被弃用但是使用$GLOBALS['HTTP_GET_VARS']呢?该阵列密钥将来可能会消失吗?
我基本上有一个遗留项目,我需要与CMS集成,除非绝对必要,否则我真的不想更新它.
function table_manager_import_vars($var) {
$vars = explode(",", $var);
foreach($vars AS $var) {
switch ($var) {
case "G":
$var = "HTTP_GET_VARS";
break;
case "P":
$var = "HTTP_POST_VARS";
break;
case "C":
$var = "HTTP_COOKIE_VARS";
break;
case "S":
$var = "HTTP_SESSION_VARS";
//session_start();
break;
case "E":
$var = "HTTP_SERVER_VARS";
break;
}
if (isset($GLOBALS[$var])) {
if (is_array($GLOBALS[$var])) {
foreach($GLOBALS[$var] AS $var1 => $value) {
if ($var1 != $var) {
$GLOBALS[$var1] = $value;
}
}
}
}
}
}
// called like this
table_manager_import_vars("G,P,C,S,E");
是的,你猜对于项目的每个方面都有这样的功能,每次都有不同的名字!!
解决方法:
你的问题:
Is using $GLOBALS[‘HTTP_GET_VARS’] deprecated?
回答:
是的.
http://www.php.net/manual/en/reserved.variables.get.php
此页面明确指出$HTTP_GET_VARS已被弃用,您应该使用$_GET代替.
$HTTP_GET_VARS与$GLOBALS [‘HTTP_GET_VARS’]相同.因此,它也被弃用了. (请注意,可以使用$GLOBALS [‘variablename’]引用在全局范围内定义的所有变量)
顺便说一下:当谈到使用$HTTP_GET_VARS的遗留代码时,我知道你说如果可以避免改变代码就想避免更改代码,但值得指出的是,这个时代的代码可能存在大问题当在现代PHP安装中运行时,因为旧版本的PHP会假设正在使用magic_quotes之类的东西.如果您在较新版本的PHP中运行相同的代码,则不会有magic_quotes,因此您应该确保数据已正确转义.
看看你所拥有的整个代码,看起来它试图将各种HTTP _ *** _ VARS数组中的所有变量复制到globlal范围中.这是在真正旧版本的PHP中自动完成的功能,但由于它导致了大量安全问题而被删除.我认真地建议删除整个代码并将每个转换为使用$_GET代替.您可能希望google for register_globals获取有关为何这是一件坏事的更多信息.
内容总结
以上是互联网集市为您收集整理的php – 使用$GLOBALS [‘HTTP_GET_VARS’]已被弃用?全部内容,希望文章能够帮你解决php – 使用$GLOBALS [‘HTTP_GET_VARS’]已被弃用?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。