我知道,使用eval($code_to_check);
我们可以检查,如果这个值等于FALSE
如果是这样,我们可以停止脚本的执行。 不过,我所面临的问题是,我无法定义一个函数,因为它被调用两次...它获取与处理的eval()检查,以确保没有语法错误和不是再次处理的功能,但表示说,它不能重新声明此功能,因为它已经被在eval'd函数声明的错误。 我怎样才能让这个我们不会在EVAL'd函数声明的东西,或者也许,我们可以undeclare这是在eval()函数声明,我们实际上做调用之前的一切......
不管怎么说,这里是我与迄今的工作...可以使用一些帮助,因为我得到“无法重新声明功能”时,$内容(这是php代码)之内具有功能。
// PHP Syntax errors?
if (!@eval('return true;' . $content))
{
// Error found in PHP somewhere. Call error function and return out of here!
call_user_func_array($code_error['function'], $code_error['params']);
return;
}
else
{
ob_start();
eval($content);
$code = ob_get_contents();
ob_end_clean();
}
任何人都可以请帮我在这里? 谢谢你们,你们都非常有帮助这里! 您所应得的金牌,但我相信现在奥运会已经结束,这是不太运动尚未...
好吧,我在这里尝试我自己的答案,并想知道如果这仍然会发现错误,并允许在同一时间,而不调用这些函数两次来创建功能。 这是这样做的正确方法? 任何人都可以看到这个代码任何可能的问题? 我呼应$ eval_code如果检测到任何语法错误...这是细做?
$eval_code = @eval($content);
// PHP Syntax errors?
if ($eval_code === FALSE)
{
call_user_func_array($code_error['function'], $code_error['params']);
return;
}
else
{
ob_start();
echo $eval_code;
$code = ob_get_contents();
ob_end_clean();
}