輸入輸出流

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

CLI 特定常量
常量 描述
STDIN

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

<?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)打開(kāi)的 stdout 流。使得無(wú)需再用以下方式打開(kāi):

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

STDERR

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

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

綜上所述,則無(wú)需打開(kāi) stderr 流,只需使用常量代替流資源:

php -r 'fwrite(STDERR, "stderr\n");'
無(wú)須顯式關(guān)閉這些流,因?yàn)樗鼈儠?huì)在腳本結(jié)束時(shí)由 PHP 自動(dòng)關(guān)閉。

注意:

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