我正在开发一个由其他人编写的旧网站,他们在代码中的某个地方做了类似于extract($_POST)
的事情。但他们没有使用函数提取。
该应用程序最初是为PHP3设计的(是的,旧的),然后它被移植到PHP4,现在我将它移植到PHP5。
有谁知道它可能是什么功能?或者,任何找到它的方法?我尝试过使用PHPStorm的'GoTo - >宣言'但那不是它......
我已经扫描了变量的文档,没有其它的引用,所以它是由一个等同于extract的函数生成的。
答案 0 :(得分:3)
可能是register_globals设置。检查服务器上的php.ini文件,看看它是否已打开。如果它打开你应该关闭它并对代码进行所有必要的更改来修复它(作为移植到PHP 5的一部分)。
检查此帖中的其他链接后的另一个相关页面:http://php.net/manual/en/security.globals.php
答案 1 :(得分:1)
可以使用这样的东西:
foreach ($_POST as $key => $value)
{
${$key} = $value;
}