Php 如何返回细枝呈现页面的内容长度标题?

Php 如何返回细枝呈现页面的内容长度标题?,php,http-headers,twig,content-length,Php,Http Headers,Twig,Content Length,我正在渲染一个细枝模板以生成一个CSV文件供下载。为了显示下载进度条,服务器必须返回Content-Length头 我尝试将细枝模板呈现为变量,计算此字符串的长度,然后在回显呈现的模板之前立即输出内容长度标题: $output = $twig->render(...); header('Content-Length', strlen($output)); echo $output; 但这会引发一个Server500错误,消息为“来自脚本'index.php'的格式错误的头:错误的头:内容

我正在渲染一个细枝模板以生成一个CSV文件供下载。为了显示下载进度条,服务器必须返回Content-Length头

我尝试将细枝模板呈现为变量,计算此字符串的长度,然后在回显呈现的模板之前立即输出内容长度标题:

$output = $twig->render(...);
header('Content-Length', strlen($output));
echo $output;
但这会引发一个Server500错误,消息为“来自脚本'index.php'的格式错误的头:错误的头:内容长度”


我是不是遗漏了什么?似乎这应该很简单。

传递给
头()的第一个参数应该是完整的头字符串。我猜您希望header函数接受第一个和第二个参数,如
header(字段名、字段值)
,但事实并非如此。您应该将标题作为单个字符串,如下所示:

// something like 'Content length: 1234'
header('Content-Length: ' . strlen($output));

尝试
标题('Content-Length:'。strlen($output))@Nima你知道什么。。。成功了!!!:)谢谢你不告诉我我有多笨。我敢肯定,对这样一个明目张胆的错误很难咬住你的舌头不用担心:)但我相信您只是假设了header函数的工作原理,没有阅读文档;)没错。我已经多次使用“header()”,但从那以后我已经阅读了几个星期和几千个其他函数的文档。:)