目前,我正在将命令传递给PHP中的用户定义函数。当我要求它时,如何让PHP执行此操作?
答案 0 :(得分:3)
您需要使用eva
l或call_user_func
,具体取决于它是一组表达式还是简单的函数调用。
答案 1 :(得分:1)
如果您要执行shell命令,请使用backticks或shell_exec。
答案 2 :(得分:1)
如果它是一个类中的方法,也许这将是有用的:
// 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中的this指的是当前类。
答案 3 :(得分:0)
由于eval()
可以在您的服务器上任意执行代码,也许您可以使用用户可能被授权调用的任何函数从您的用户应用程序生成类文件,然后检查是否存在使用的函数首先在新生成的类文件中进行内省。