首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP标准输出未编写

PHP标准输出未编写
EN

Stack Overflow用户
提问于 2016-11-23 21:17:02
回答 1查看 2.7K关注 0票数 2

我正在编写一个运行在Apache服务器上的PHP脚本(不是由我管理的)。在函数中,变量$outfile作为函数参数,函数的开头是:

代码语言:javascript
复制
if (isset($outfile))
    $fh = fopen($outfile, 'wb');
else
    $fh = fopen('php://stdout', 'w');
echo 'Hello, ';
fwrite($fh, 'World');

我用$outfile = NULL调用这个函数,所以$fh应该指向stdout。我可以更多地去掉这个条件:

代码语言:javascript
复制
$fh = fopen('php://stdout', 'w');
echo 'Hello, ';
fwrite($fh, 'world');

关键是,它只输出

代码语言:javascript
复制
Hello,

而不是我所期望的:

代码语言:javascript
复制
Hello, world!

我怎么能回避这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-23 21:21:12

使用php://output而不是php://stdout。正如文档所说

php://output是一个只写的流,它允许您以与printecho相同的方式写入输出缓冲区机制。

php://stdout直接写入stdout文件描述符,因此它不会与echo的缓冲输出正确同步。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40774292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档