入出力ストリーム

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 から読み込んだ場合は使用できません。