博客
关于我
PHP 的标准输入与输出
阅读量:793 次
发布时间:2023-02-28

本文共 1181 字,大约阅读时间需要 3 分钟。

PHP 标准输入与输出简述

1. PHP STDIN、STDOUT、STDERR 简介

PHP 提供了 STDIN、STDOUT 和 STDERR 三个标准输入输出流,用于在命令行界面(CLI)模式下与控制台进行交互。这些流默认已打开,可直接读写,但仅在 CLI 模式下有效,在 HTTP 模式下则不可用。

1.1 STDIN(标准输入)

  • 用途:读取用户从控制台输入的内容。
  • 常见操作:使用 fgets() 函数读取输入,直到用户按下回车键提交。

1.2 STDOUT(标准输出)

  • 用途:向控制台输出正常信息。
  • 常见操作:使用 echofwrite() 函数向控制台输出内容。

1.3 STDERR(标准错误输出)

  • 用途:向控制台输出错误信息。
  • 常见操作:使用 fwrite() 函数向控制台输出错误信息。

2. PHP STDIN 用法

在 PHP 中,STDIN 常量用于从控制台读取输入。可以通过 fopen('php://stdin', 'r') 打开输入流,或者直接使用 STDIN 常量读取内容。

2.1 示例

$contents = fgets(STDIN);
echo "输入的内容为: $contents\n";

3. PHP STDOUT 用法

STDOUT 常量用于向控制台输出内容。可以通过 fopen('php://stdout', 'w') 打开输出流,或直接使用 STDOUT 常量向控制台输出信息。

3.1 示例

echo "通过STDOUT写入;\n";
$demo = fopen("php://stdout", "w");
fwrite($demo, "通过php://stdout写入;");
fclose($demo);

4. PHP STDERR 用法

STDERR 常量用于向控制台输出错误信息。可以通过 fopen('php://stderr', 'w') 打开错误输出流,或直接使用 STDERR 常量向控制台输出错误信息。

4.1 示例

fwrite(STDERR, "STDERR写入的错误输出;\n");
fwrite(STDOUT, "STDOUT写入的正常输出;\n");

5. 应用示例

编写一个读取用户输入并输出结果的 PHP 脚本:

这个脚本会不断读取用户输入,直到用户输入 42 为止,并将所有其他输入输出到控制台。

6. 注意事项

  • 在 CLI 模式下,STDIN、STDOUT 和 STDERR 可以直接读写。
  • 在 HTTP 模式下,这些流不可用,默认为空流。
  • 确保在读取输入时处理可能的 EOF(End Of File)错误。

通过掌握这些知识,可以在 Sphere Online Judge 等平台上轻松使用 PHP 在线挑战题目,无需再局限于传统的 C 或 Java 编程。

转载地址:http://bztfk.baihongyu.com/

你可能感兴趣的文章
Phalcon环境搭建与项目开发
查看>>
Phantom.js维护者退出,项目的未来成疑
查看>>
Pharmaceutical的同学们都看过来,关于补码运算的复习相关内容
查看>>
Phoenix 查看表信息及修改元数据
查看>>
Phoenix基础命令_视图映射和表映射_数字存储问题---大数据之Hbase工作笔记0036
查看>>
phoenix无法连接hbase shell创建表失败_报错_PleaseHoldException: Master is initializing---记录020_大数据工作笔记0180
查看>>
Phoenix简介_安装部署_以及连接使用---大数据之Hbase工作笔记0035
查看>>
phoenix连接hbase报错Can not resolve hadoop120, please check your network_记录026---大数据工作笔记0187
查看>>
Photoshop工作笔记001---Photoshop常用快捷键总结
查看>>
Reids配置文件redis.conf中文详解
查看>>
Photoshop脚本入门
查看>>
PHP
查看>>
Regular Expression Notes
查看>>
PHP $FILES error码对应错误信息
查看>>
PHP $_FILES函数详解
查看>>
PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
查看>>
php & 和 & (主要是url 问题)
查看>>
php -- 魔术方法 之 判断属性是否存在或为空:__isset()
查看>>
php -- 魔术方法 之 获取属性:__get()
查看>>
php -树-二叉树的实现
查看>>