does echo equal fputs( STDout )?(echo 是否等于 fputs( STDout )?)
问题描述
echo
是否等于 fputs(STDOUT)
,或者 echo
是否写入不同的流?我已经使用 PHP 一段时间了,但我不太清楚在较低级别上实际发生了什么.
Does echo
equal fputs( STDOUT )
, or does echo
write to a different stream? I've used PHP for a while now, but I don't know very well what's actually happening on a lower level.
推荐答案
根据 PHP 的包装器手册页,答案是否定的.
According to PHP's manual page on wrappers, the answer is No.
php://输出
php://output 是一个只写流,允许您写入输出缓冲机制与print()和echo()相同.
php://output is a write-only stream that allows you to write to the output buffer mechanism in the same way as print() and echo().
print
和 echo
写入 php://output
流,而 fputs(STDOUT)
写入到php://stdout
.
print
and echo
write to php://output
stream, whereas fputs(STDOUT)
writes to php://stdout
.
我做了一个小测试:
<?php
$output = fopen('php://output', 'w');
ob_start();
echo "regular echo
";
fwrite(STDOUT, "writing to stdout directly
");
fwrite($output, "writing to php://output directly
");
$ob_contents = ob_get_clean();
print "ob_contents: $ob_contents
";
此脚本输出(在 PHP 5.2.13、windows 上测试):
This script outputs (tested on PHP 5.2.13, windows):
writing to stdout directly
ob_contents: regular echo
writing to php://output directly
即写入 STDOUT
直接绕过 ob 处理程序.
i.e. writing to STDOUT
directly bypasses ob handlers.
这篇关于echo 是否等于 fputs( STDout )?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:echo 是否等于 fputs( STDout )?


- Mod使用GET变量将子域重写为PHP 2021-01-01
- 没有作曲家的 PSR4 自动加载 2022-01-01
- 正确分离 PHP 中的逻辑/样式 2021-01-01
- Laravel 仓库 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- SoapClient 设置自定义 HTTP Header 2021-01-01
- 带有通配符的 Laravel 验证器 2021-01-01
- 如何定位 php.ini 文件 (xampp) 2022-01-01
- PHP Count 布尔数组中真值的数量 2021-01-01
- 从 PHP 中的输入表单获取日期 2022-01-01