PHP中的“Transfer-Encoding:chunked”标头

我想将transfer-encoding:chunked header添加到我正在输出文件(它刚生成的纯文本),但是当我添加
header("transfer-encoding: chunked");
flush();

浏览器不想打开文件.

The webpage at … might be
temporarily down or it may have moved
permanently to a new web address.

我需要做些什么呢?

您需要使用您发送的每个块发送Content-Length.看看 Wikipedia的第一印象,分块编码是怎样的.它不是那么微不足道,而且在很多情况下都是超大的.

更新:
首先发送标题,因为它们必须始终在任何内容之前发送(也使用分块编码).然后发送(对于每个块)大小(十六进制),然后是内容.记住每个块后面的flush().最后,您必须发送一个零大小的块,以确保连接正确关闭.

它没有经过测试,但是这样的东西

header("transfer-encoding: chunked");
echo "5\r\n";
echo "Hello";
echo "\r\n\r\n";
flush();
echo "5\r\n";
echo "World";
echo "\r\n";
flush();
echo "0\r\n\r\n";
flush();

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...