代码之家  ›  专栏  ›  技术社区  ›  Ryan Griggs

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

  •  0
  • Ryan Griggs  · 技术社区  · 6 年前

    我正在呈现一个树枝模板,生成一个csv文件下载。为了显示下载的进度条,服务器必须返回内容长度头。

    我尝试将小树枝模板呈现为一个变量,计算此字符串的长度,然后在回送呈现模板之前立即输出内容长度头:

    $output = $twig->render(...);
    header('Content-Length', strlen($output));
    echo $output;
    

    但这会抛出一个服务器500错误,消息是“脚本'index.php'的头格式不正确”:头错误:内容长度。

    我是不是丢了什么东西?看来这应该是微不足道的。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Nima    6 年前

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

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