Web ページが読み込まれるたびに PHP スクリプトを呼び出しています。ただし、PHP スクリプトを実行するために必要なパラメーターがあります (通常、スクリプトをテストするときにコマンド ラインを介して渡します)。
ページが読み込まれるときにスクリプトが実行されるたびにこの引数を渡すにはどうすればよいですか?
ベストアンサー1
おそらく、次のようにコマンドラインで引数を渡していると思います。
php /path/to/wwwpublic/path/to/script.php arg1 arg2
...そしてスクリプト内で次のようにアクセスします:
<?php
// $argv[0] is '/path/to/wwwpublic/path/to/script.php'
$argument1 = $argv[1];
$argument2 = $argv[2];
?>
HTTP 経由で引数を渡す場合 (Web 経由でスクリプトにアクセスする場合) に必要なことは、クエリ文字列を使用して、$_GET スーパーグローバル経由でアクセスすることです。
へ移動http://yourdomain.example/path/to/script.php?argument1=arg1&argument2=arg2
...そしてアクセス:
<?php
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
?>
スクリプトをどこから呼び出しても (コマンド ラインからでもブラウザーからでも) 実行したい場合は、次のようになります。
コメントでCthulhuが指摘したように、どの環境で実行しているかをテストする最も直接的な方法は、PHP_SAPI定数です。それに応じてコードを更新しました:
<?php
if (PHP_SAPI === 'cli') {
$argument1 = $argv[1];
$argument2 = $argv[2];
}
else {
$argument1 = $_GET['argument1'];
$argument2 = $_GET['argument2'];
}
?>