PHP8 输入输出流

2023-08-24 15:02 更新

CLI SAPI 为 I/O 流定义了一些常量,以使命令行变量编程更容易一些。

CLI 特定常量
常量 描述
STDIN

已经打开的 stdin 流。使得无需再用以下方式打开:

<?php
$stdin = fopen('php://stdin', 'r');
?>
如果想从 stdin 中读取一行内容,可以使用如下方式:
<?php
$line = trim(fgets(STDIN)); // 从 STDIN 读取一行
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 自动关闭。

注意:如果从 stdin 中读取 PHP 脚本,则这些常量不可用。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号