我正在呈现一个树枝模板,生成一个csv文件下载。为了显示下载的进度条,服务器必须返回内容长度头。
我尝试将小树枝模板呈现为一个变量,计算此字符串的长度,然后在回送呈现模板之前立即输出内容长度头:
$output = $twig->render(...); header('Content-Length', strlen($output)); echo $output;
但这会抛出一个服务器500错误,消息是“脚本'index.php'的头格式不正确”:头错误:内容长度。
我是不是丢了什么东西?看来这应该是微不足道的。
传递给的第一个参数 header() 应该是完整的头字符串。我想您希望header函数接受第一个和第二个参数,比如 header(field name,field value) ,但事实并非如此。您应该将标题作为单个字符串,如下所示:
header()
header(field name,field value)
// something like 'Content length: 1234' header('Content-Length: ' . strlen($output));