doudg60800 2018-07-06 13:29
浏览 110
已采纳

如何返回TWIG呈现页面的Content-Length标题?

I am rendering a TWIG template to generate a CSV file to download. In order to show a progress bar for the download, the server must return the Content-Length header.

I tried rendering the TWIG template into a variable, calculating the length of this string, then outputting the content-length header immediately before echo'ing the rendered template:

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

But this throws a server 500 error with the message "malformed header from script 'index.php': Bad header: Content-Length".

Am I missing something here? Seems this should be trivial.

  • 写回答

1条回答 默认 最新

  • dsv17139 2018-07-06 15:05
    关注

    The first parameter passed to header() should be the complete header string. I guess you expected header function to accept the first and second parameters like header(field name,field value), but that's not the case. You should headers as a single string like this:

    // something like 'Content length: 1234'
    header('Content-Length: ' . strlen($output));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?