ここでは、コマンドラインから実行された PHP スクリプトへの引数を取得するサンプルコードを掲載しています。
スポンサーリンク
コマンドライン引数を取得するサンプルスクリプト
// 引数の個数 echo "argc = $argc\n"; // 引数の値を出力する for($i=0; $i<$argc; $i++) { echo "argv[$i] : $argv[$i] \n"; }
実行結果
上記のサンプルスクリプト ( param.php ) の実行結果です。詳細はコメントを参照ください。
# 引数なしの場合 D:\> /path/to/php.exe /path/to/param.php argc = 1 argv[0] :/path/to/param.php # 引数なしの場合でも、上記の通り実行したスクリプトのフルパスが第1パラメータとして入ってくる。 # 引数ありの場合 D:\> /path/to/php.exe /path/to/param.php aaa bbb ccc argc = 4 argv[0] : /path/to/param.php argv[1] : aaa argv[2] : bbb argv[3] : ccc # 引数の一部にスペースを入れる場合 D:\> /path/to/php.exe /path/to/param.php "aaa aaa" bbb ccc argc = 4 argv[0] : /path/to/param.php argv[1] : aaa aaa argv[2] : bbb argv[3] : ccc # 引数はスペースで区切られるため、引数内にスペースを入れる場合は "" でくくって # 引数を与える。
$_SERVER から取得する
書き方の違いだけとなりますが、変数 $argc, $argv ではなく、$_SERVER から取得することもできます。
echo "argc = " . $_SERVER['argc'] . "\n"; for($i=0; $i<$_SERVER['argc']; $i++) { echo "argv[$i] : " . $_SERVER['argv'][$i] . "\n"; }