如何找到动态创建的变量,而不是提取?

时间:2012-02-22 05:54:03

标签: php

我正在开发一个由其他人编写的旧网站,他们在代码中的某个地方做了类似于extract($_POST)的事情。但他们没有使用函数提取。

该应用程序最初是为PHP3设计的(是的,旧的),然后它被移植到PHP4,现在我将它移植到PHP5。

有谁知道它可能是什么功能?或者,任何找到它的方法?我尝试过使用PHPStorm的'GoTo - >宣言'但那不是它......

我已经扫描了变量的文档,没有其它的引用,所以它是由一个等同于extract的函数生成的。

2 个答案:

答案 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;
}