如何执行包含在PHP变量中的命令?

问题描述:

目前,我路过一个命令到PHP中的用户定义的函数。当我问这个问题时,我该如何让PHP执行此操作?如何执行包含在PHP变量中的命令?

+1

你的意思的eval()? – EFraim 2009-07-04 22:45:58

您将要使用evalcall_user_func,这取决于它是一组表达式还是简单的函数调用。

如果这是你想要执行使用backticksshell_exec shell命令。

由于eval()将能够在您的服务器上随意执行代码,也许您可​​以从您的用户应用程序中生成任何可能授权用户调用的函数的类文件,然后使用自检功能检查函数是否存在新生成的类文件。

如果它在一个类中的方法,也许这将是有益的:

// The method to call 
$proposed_method = 'some_method_name'; 

// See if its available 
if (is_callable(array($this,$proposed_method), FALSE)) 
{ 
    // Call the method 
    return $this->$proposed_method(); 
} 

其中$这在is_callable指当前类。