次の PHP コードを含む単純なテキスト ファイルを作成し、hello.php として保存します。
コードをコピーします。 コードは次のとおりです。
echo "Hello from the CLI"
?>
次に、CLI 実行可能ファイルを呼び出し、スクリプトのファイル名を指定して、コマンド ライン プロンプトからこのプログラムを実行してみます: #php phphello.php
CLI から Hello を出力します
標準入力と出力
これら 3 つの定数を独自の PHP スクリプトで使用して、ユーザー入力を受け入れたり、処理や計算の結果を表示したりできます。これをよりよく理解するには、次のスクリプト (
リスト A) を見てください:
リスト A
コードをコピーします コードは次のとおりです:
// ask for input
fwrite(STDOUT, "名前を入力してください: ");
// get input
$name = trim(fgets(STDIN));
// 入力を書き戻します
fwrite(STDOUT, "こんにちは、$name! ") ;
?>
実行すると何が起こるか見てみましょう: shell> php hello.php
名前を入力してください: Joe
こんにちは、Joe!
このスクリプトでは、 fwrite() 関数は最初に次のように書き込みます。標準 出力デバイスは、ユーザーの名前を尋ねるメッセージを書き込みます。次に、標準入力デバイスから取得したユーザー入力情報を PHP 変数に読み取り、それを文字列に結合します。次に、 fwrite() を使用して文字列を標準出力デバイスに出力します。
-----------------コマンドライン引数の使用
コマンドラインにプログラムパラメータを入力して実行方法を変更するのが一般的です。これは CLI プログラムでも行うことができます。 PHP CLI には、この目的を達成するために特別に設計された 2 つの特別な変数が付属しています。1 つは $argv 変数で、コマンド ラインを通じて PHP スクリプトに渡されるパラメータを個別の配列要素として保存します。もう 1 つは $argc 変数であり、これが使用されます。
個の要素を $argv 配列に保存します。
$argv を読み取り、それに含まれるパラメーターを処理するコードを PHP スクリプトで記述するのは非常に簡単です。リスト B のサンプル スクリプトを試して、その動作を確認してください。
リスト B
コードをコピーします
コードは次のとおりです。
print_r($argv)?>
任意の値を渡してこのスクリプトを実行し、出力を確認します:
shell> php phptest.php Chocolate 276 "killertie, dude!"
Array
( [0] => test.php
[ 1] => チョコレート
[2] => 276
[3] => キラータイ、おい!
)
出力からわかるように、test.php に渡される値は自動的に Ground として $argv に表示されます。配列要素。 $argvis の最初の引数は常にスクリプト自体の名前であることに注意してください。
より複雑な例を次に示します (リスト C):
リスト C
コード
コードをコピー
コードは次のとおりです:
// 必要なものをすべてチェックしますargument
// 最初の引数は常にスクリプトの名前です! if ($argc != 4) { die("Usage: book.php }
// 最初の引数を削除
array_shift($argv);
// 残りの引数を取得して使用
$checkin = $argv[0];
$nights = $argv[1];
$type = $argv[2];
echo "$checkin で $night 分の $type ルームをリクエストしました。ご注文ありがとうございます
?>
使用法:
shell> php phpbook.php 2005/05/21 7 シングル
2005 年 5 月 21 日にチェックインして、シングル ルームをリクエストしました
スクリプトです。まず $argc をチェックして、引数の数が正しいことを確認します。次に、$argv から各引数を抽出し、標準出力に出力します。
http://www.bkjia.com/PHPjc/321200.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/321200.html
技術記事次の PHP コードを含む単純なテキスト ファイルを作成し、hello.php として保存します。 次のようにコードをコピーします。 ?php echo "Hello from the CLI" ? コマンドを試してください...