ホームページ > バックエンド開発 > PHPチュートリアル > PHPコマンドラインでPHPスクリプト(パラメータ付き)を実行する方法

PHPコマンドラインでPHPスクリプト(パラメータ付き)を実行する方法

WBOY
リリース: 2016-07-25 09:03:04
オリジナル
1456 人が閲覧しました
  1. echo "Hello from the CLI";
  2. ?>
コードをコピー

次に、CLI 実行可能ファイルを呼び出して、コマンド ライン プロンプトでこのプログラムを実行してみます。スクリプトのファイル名: #phpphphello.php CLI から Hello を出力します

標準入出力を使用する これら 3 つの定数を PHP スクリプトで使用すると、ユーザー入力を受け入れたり、処理や計算の結果を表示したりできます。これをよりよく理解するには、次のコードを見てください。

  1. // 入力を要求します

  2. fwrite(STDOUT, "Enter your name: ");

  3. // 入力を取得します

  4. $ name = trim(fgets(STDIN));

  5. // 入力を書き戻す

  6. fwrite(STDOUT, "Hello, $name!");
  7. ?>

コードをコピー

実行するとどうなるかを見てください: シェル>php hello.php あなたの名前を入力してください: ジョー こんにちは、ジョー! ?>

このスクリプトでは、fwrite() 関数は最初に、ユーザーの名前を尋ねるメッセージを標準出力デバイスに書き込みます。次に、標準入力デバイスから取得したユーザー入力情報を PHP 変数に読み取り、文字列に結合します。次に、 fwrite() を使用して文字列を標準出力デバイスに出力します。

#---コマンドライン引数を使用する コマンド ラインでプログラムに引数を入力して、プログラムの実行方法を変更するのが一般的です。これは CLI プログラムでも行うことができます。 PHP CLI には、この目的のために特別に設計された 2 つの特別な変数が付属しています。1 つは $argv 変数で、コマンド ラインを通じて PHP スクリプトに渡されたパラメータを個別の配列要素として保存します。もう 1 つは $argc 変数であり、使用されます。 $argv 配列内の要素の数を保存します。

$argv を読み取り、それに含まれるパラメーターを処理するコードを PHP スクリプトで記述するのは非常に簡単です。 次のサンプル スクリプトをテストして、どのように機能するかを確認します。

  1. print_r($argv);
  2. ?>
コードをコピー

いくつかの任意の値を渡してこのスクリプトを実行し、出力を確認します:

shell> php phptest.php チョコレート 276 「キラータイ、おい!」 配列 ( [0] => test.php [1] => チョコレート [2] => 276 [3] => キラータイ、おい! )

出力からわかるように、test.php に渡された値は、$argv の配列要素として自動的に表示されます。 $argvis の最初の引数は常にスクリプト自体の名前であることに注意してください。

より複雑な例を次に示します。

  1. // 必要な引数をすべてチェックします

  2. // 最初の引数は常にスクリプトの名前です!
  3. if ($argc != 4) {
  4. die("使用法: book.php ");
  5. }

  6. // 最初の引数を削除

  7. array_shift($argv);

  8. // 残りの引数を取得して使用します

  9. $checkin = $argv[0];
  10. $nights = $argv[1];
  11. $type = $argv[2];
  12. echo " $checkin で $nights の $type ルームをリクエストしました。ご注文ありがとうございます! ";
  13. ?

コードの例を次に示します。使用法 : シェル> php phpbook.php 2005/05/21 7 シングル 2005 年 5 月 21 日にチェックインして、7 泊のシングル ルームをリクエストされました。ご注文ありがとうございます!
ここで、スクリプトは最初に $argc をチェックして、独立変数の数が要件を満たしていることを確認します。次に、$argv から各引数を抽出し、標準出力に出力します。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート