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);
}
これは、配列が非連想の場合にのみ機能することに注意してください。
連想パラメータを取得するには、別の関数を作成する必要があります