PHP8 輸入輸出流

2023-08-24 15:02 更新

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 腳本,則這些常量不可用。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)