Nie*_*sol 9 apache http-content-length
我正在加载一个由PHP动态生成的特别大的JSON字符串.为了向用户提供一些反馈,我想显示下载进度.
我已经找到了代码,它适用于静态内容,如图像,JS文件等.但是,它似乎不适用于动态文件.
这是有道理的,因为动态文件没有可预测的内容长度,但即使我在PHP中添加它:
ob_start(function($c) {
header("Content-Length: ".strlen($c));
return $c;
});
Run Code Online (Sandbox Code Playgroud)
它仍然不发送标题(但如果我添加任何其他标题,它工作正常).
有没有办法强制Apache发送Content-Length标题?目前我唯一的选择是将输出保存到临时文件并改为重定向到它.这可行,但它有点混乱,所以我宁愿避免它,如果可能的话.
ger*_*tan 10
我有类似的问题但在我的情况下,Apache没有发送Content-Length头,因为响应是gzip压缩的.当我禁用压缩时,Content-Length被计算并正确发送.
下面是htaccess设置,仅为swf文件禁用gzip压缩
<FilesMatch "\.swf$">
SetEnv no-gzip 1
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18868 次 |
| 最近记录: |