入出力ストリーム
CLI SAPI には入出力ストリーム用の定数がいくつか定義されており、
これらを使うとコマンドライン用のプログラミングが多少簡単になります。
CLI 固有の定数
定数
|
説明
|
STDIN
|
stdin へのオープン済みのストリーム。
これにより、以下のようにオープンする必要がなくなります。
<?php$stdin = fopen('php://stdin', 'r');?>
stdin から1行読み込みたい場合、以下のようにします。
<?php$line = trim(fgets(STDIN)); // STDIN から 1 行読み込むfscanf(STDIN, "%d\n", $number); // STDIN から数値を読み込む?>
|
STDOUT
|
stdout へのオープン済みのストリーム。
これにより、以下のようにオープンする必要がなくなります。
<?php$stdout = fopen('php://stdout', 'w');?>
|
STDERR
|
stderr へのオープン済みのストリーム。
これにより、以下のようにオープンする必要がなくなります。
<?php$stderr = fopen('php://stderr', 'w');?>
|
上記のように、stderr
のようなストリームを自分で
オープンする必要はなく、以下のようにストリームリソースの代わりに
定数を使用するだけでかまいません。
php -r 'fwrite(STDERR, "stderr\n");'
これらのストリームを明示的に閉じる必要はありません。これは、
PHP により自動的に行われます。
注意:
これらの定数は、PHP スクリプトを
stdin
から読み込んだ場合は使用できません。