輸入輸出流

CLI SAPI 為 I/O 流定義了一些常量,以使命令行變量編程更容易一些。

CLI 特定常量
常量 描述
STDIN

已經(jīng)打開的 stdin 流。使得無需再用以下方式打開:

<?php
$stdin 
fopen('php://stdin''r');
?>
如果想從 stdin 中讀取一行內(nèi)容,可以使用如下方式:
<?php
$line 
trim(fgets(STDIN)); // 從 STDIN 讀取一行
fscanf(STDIN"%d\n"$number); // 從 STDIN 讀取數(shù)字
?>

STDOUT

已經(jīng)打開的 stdout 流。使得無需再用以下方式打開:

<?php
$stdout 
fopen('php://stdout''w');
?>

STDERR

已經(jīng)打開的 stderr 流。使得無需再用以下方式打開:

<?php
$stderr 
fopen('php://stderr''w');
?>

綜上所述,則無需打開 stderr 流,只需使用常量代替流資源:

php -r 'fwrite(STDERR, "stderr\n");'
無須顯式關(guān)閉這些流,因?yàn)樗鼈儠谀_本結(jié)束時由 PHP 自動關(guān)閉。

注意:

如果從 stdin 中讀取 PHP 腳本,則這些常量不可用。