首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何流式传输?

如何流式传输?
EN

Stack Overflow用户
提问于 2011-11-09 01:29:40
回答 2查看 553关注 0票数 2

是否可以将来自Zend_Service_Amazon_S3 (http://framework.zend.com/manual/en/zend.service.amazon.s3.html#zend.service.amazon.s3.streaming)的流传输到浏览器?

我正在寻找像readfile (http://www.php.net/manual/en/function.readfile.php)这样的东西,但是我想要一个流,而不是一个文件作为输入。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-09 01:36:12

可以,只需将其复制到STDOUT即可,它是“一个只写流,允许您以与print()和echo()相同的方式写入输出缓冲区机制”(manual)。

代码语言:javascript
复制
stream_copy_to_stream($response->getStream(), STDOUT);
票数 1
EN

Stack Overflow用户

发布于 2017-03-07 02:27:25

一种类似的解决方案是使用

代码语言:javascript
复制
fpassthru($response->getStream())

作为PHP manual clearly statesSTDOUT仅用于CLI SAPI。但即使在CLI上,它也不能在这样的上下文中使用

代码语言:javascript
复制
php < script.php

在这种情况下(例如,如果您尝试在php-fpm中使用STDOUT ),stream_copy_to_stream()会出现以下错误

代码语言:javascript
复制
PHP Notice:  Use of undefined constant STDOUT - assumed 'STDOUT' in $FILE on line $LINE
PHP Warning:  stream_copy_to_stream() expects parameter 2 to be resource, string given in $FILE on line $LINE

一旦使用fpassthru(),这个问题就会消失。

我没有在AWS上测试它,但我非常确定它在那里也是有效的。

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

https://stackoverflow.com/questions/8054610

复制
相关文章

相似问题

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