我正在渲染TWIG模板以生成要下载的CSV文件。为了显示下载的进度条,服务器必须返回Content-Length标头。
我尝试将TWIG模板渲染为变量,计算该字符串的长度,然后在回显渲染的模板之前立即输出content-length标头:
$output = $twig->render(...);
header('Content-Length', strlen($output));
echo $output;
但这会引发服务器500错误,并显示消息“脚本'index.php'的标头格式错误:标头错误:Content-Length”。
我在这里错过了什么吗?看来这应该是微不足道的。
答案 0 :(得分:1)
传递给header()
的第一个参数应该是完整的标题字符串。我猜您希望标头函数接受第一个和第二个参数,例如header(field name,field value)
,但事实并非如此。您应该将标头作为单个字符串,如下所示:
// something like 'Content length: 1234'
header('Content-Length: ' . strlen($output));