代码之家  ›  专栏  ›  技术社区  ›  waiwai933

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

  •  1
  • waiwai933  · 技术社区  · 15 年前

    目前,我正在将一个命令传递到PHP中的用户定义函数中。当我要求时,如何让PHP执行这个?

    4 回复  |  直到 15 年前
        1
  •  3
  •   Darryl Hein IrishChieftain    15 年前

    你要么用 eva l call_user_func ,取决于它是一组表达式还是仅仅是一个函数调用。

        2
  •  1
  •   lemonad    15 年前

    如果是要执行的shell命令,请使用 backticks shell_exec .

        3
  •  1
  •   ae.    15 年前

    如果它是类中的一个方法,那么这可能会很有用:

    // 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();
    }
    

    其中,$this在is-callable中表示当前类。

        4
  •  0
  •   FilmJ    15 年前

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