定義済み変数は、全てのスクリプトで使用できる。
スーパーグローバルは、関数やクラスメソッドの中の 可変変数 として使用することはできません。
$_SERVER
$_SERVER[’PHP_SELF’]
現在実行しているスクリプトのファイル名です。
ドキュメントルートからのパスを含むのでセキュリティ的に要注意。
$_SERVER[’SCRIPT_NAME’]
現在のスクリプトのパス。 スクリプト自身のページを指定するのに有用です。
コマンドライン実行時の変数
$argv
コマンドラインから実行したときに、 現在のスクリプトに渡されたすべての引数の配列が格納される。
最初の引数 $argv[0] は常に、スクリプトの実行に使うファイル名となります。
この変数は、register_argc_argv<・strong> が無効になっている場合には使えません。
これは、$_SERVER[‘argv’] としても使用可能です。
<参考>関数処理 func_get_args()
<?php
//ファイル名「script.php」
var_dump($argv);
?>
/* コマンドラインから下記を実行
php script.php arg1 arg2 arg3
結果:
array(4) {
[0]=>
string(10) "script.php"
[1]=>
string(4) "arg1"
[2]=>
string(4) "arg2"
[3]=>
string(4) "arg3"
}
*/
$argc
コマンドラインから実行したときに、 現在のスクリプトに渡された引数の数が含まれます。
スクリプトのファイル名は、常にスクリプトへの引数として渡されます。したがって、$argc の最小値は 1 です。
<?php
var_dump($argc);
?>
/* コマンドラインから下記を実行
php script.php arg1 arg2 arg3
結果:スクリプトのファイル名がインデックス0に渡されるので、4
int(4)
*/