オプションのスイッチをいくつか使用して、Unix コンソールから実行するための php コードを作成しています。スクリプトにスイッチを認識させるのに問題があります。
この方法でコンソールからスクリプトを実行します
./<scriptname>.php v
コードで「v」スイッチが選択されることを期待していますが、そうではないようです。これは、それを拾うためのコードです。
global $argv; // specified, but probably not needed
$verbose = array_key_exists("v", $argv); // should work but it doesn't!
// $verbose= isset($_GET["v"]); // tried, but doesn't work because it's run from console
しかし、行var_dump($argv);
出力にもかかわらず:
array(2) {
[0]=>
string(21) "./<scriptname>.php"
[1]=>
string(1) "v"
}
次の行はecho "\nverbose: :$verbose:\n";
出力しますverbose: ::
(これは ですfalse
)。
なんで ?どうもありがとう!