ホームページ >バックエンド開発 >PHPチュートリアル >コマンドラインからPHPスクリプトに変数を渡すにはどうすればよいですか?

コマンドラインからPHPスクリプトに変数を渡すにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-10 22:57:02929ブラウズ

How to Pass Variables to PHP Scripts from the Command Line?

コマンド ラインから PHP スクリプトに変数を渡す

コマンド ラインから PHP スクリプトを実行する場合、多くの場合、変数を渡すことが必要になります。ただし、従来の $_GET メソッド (php myfile.php?type=daily など) を使用してこれを実現しようとすると、「入力ファイルを開けませんでした」エラーが発生する可能性があります。

これは、$_GET 配列が原因です。通常、スクリプトが Web ページとして実行される場合にのみアクセスできます。コマンド ラインからの変数の受け渡しを処理するには、別の方法を利用する必要があります。

$argv Array の使用

コマンド ラインから PHP スクリプトを実行する場合、$argv を使用して変数を渡すことができます。配列。この配列には、スクリプト名の後に指定された引数が含まれます。たとえば、type=daily 変数を渡すには、次のようにスクリプトを呼び出します。

php myfile.php daily

PHP スクリプトでは、$argv[1].

Web およびコマンド ラインの実行の処理

PHP スクリプトが Web とコマンド ラインの両方の実行を目的としている場合は、STDIN 定数を使用してスクリプトがコマンド ラインから呼び出されているかどうかを確認できます。次のコード スニペットはこれを示しています。

if (defined('STDIN')) {
  $type = $argv[1];
} else {
  $type = $_GET['type'];
}
この例では、スクリプトがコマンド ラインから実行されている場合、型変数は $argv[1] から取得されます。それ以外の場合は、$_GET['type'] から取得されます。

シェル スクリプトと Wget の使用

コマンド ラインから変数を渡すもう 1 つのオプションは、シェル スクリプトと Wget を使用することです。 。これは、URL の一部として変数を渡す必要がある場合に便利です。次のシェル スクリプトは、このアプローチを示しています。

#!/bin/sh
wget http://location.to/myfile.php?type=daily
このスクリプトでは、変数 type=daily が URL の一部として渡されます。その後、スクリプトを cron から呼び出して、指定された変数を使用して PHP スクリプトを実行できます。

以上がコマンドラインからPHPスクリプトに変数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。