当你system
在你的应用程序中进行投射时,你必须implode
将你的参数
传递给像
system('/path/of/your/script.php param[0] param[1] > scriptlog.txt &')
这看起来像
system('/path/of/your/script.php '.implode(" ",$params).' > scriptlog.txt &')
如果你有引号,你可以看看escapeshellarg
system('/path/of/your/script.php '.implode(" ",array_map("escapeshellarg",$params)).' > scriptlog.txt &')
然后在你的script.php
,捕捉参数
$args = $argv;
array_shift($args); //Because $args[0] is 'script.php'
如果你正在赶上> scriptlog.txt &
你的script.php
,请改用它:
$args = $argv;
if (false !== ($pos = array_search(">",$args))) {
$args = array_slice($args,1,$pos-1);
} else {
array_shift($args);
}
请注意,这仅适用于您的数组是非关联的。
您需要编写另一个函数来检索关联参数