1
這就是我想做的事:如何替換具有未知參數名稱的函數?
$var = "foo";
$unknown = "";
function do($arg1, $arg2) {
$arg2 = "bar";
magic($arg2);
}
do($var, $unknown);
echo $unknown;
這應返回:酒吧
我知道,如果我這樣定義我的功能,這會工作:
function do($arg1, $unknown) {
global $unknown;
$unknown = "bar";
}
由於你可能已經猜到了,$ unknown的變量名是未知的。
我需要這個,因爲我正在使用apd編寫一個PHP沙箱。我想用我自己的函數不知道的PHP腳本替換exec($ cmd,$ ret)。
因此,如果未知的PHP腳本是這樣的:
$foo = "";
exec('whois google.com', $foo);
echo $foo;
我有一個問題,我自己的函數替換做的exec()模擬相同的功能。
看起來不錯!但是,如果foo($ var,$ unknown);包括的。我正在運行我的沙盒,如下所示:php sandbox.php unknown.php和sandbox.php包含include $ argv [1];最後。建議? – Glaslos
@Peter:顯示代碼。 – Jon
http://www.ideone.com/Xsnwy – Glaslos