【发布时间】:2012-11-26 13:35:17
【问题描述】:
正如对上一个问题 (PHP External Oauth : how to displaying a waiting message while waiting for callback (not using AJAX)) 的回复中所建议的,我正在使用传输编码:分块以在执行某些任务时显示等待消息。我的第一次尝试失败了,我在这个问题“Transfer-Encoding: chunked” header in PHP 中找到了解决方案。有 1024 个空格的“填充”。没有这个填充它不起作用。我已经用谷歌搜索了,但我找不到这个填充的用途。这是示例代码(来自相关问题)。
<?php
header('Content-Encoding', 'chunked');
header('Transfer-Encoding', 'chunked');
header('Content-Type', 'text/html');
header('Connection', 'keep-alive');
ob_flush();
flush();
$p = ""; //padding
for ($i=0; $i < 1024; $i++) {
$p .= " ";
};
echo $p;
ob_flush();
flush();
for ($i = 0; $i < 10000; $i++) {
echo "string";
ob_flush();
flush();
sleep(2);
}
?>
有没有人解释一下为什么它可以在没有“填充”的情况下工作和不工作?
【问题讨论】:
-
没有填充会发生什么?
-
对不起,我出去了一段时间。没有填充,页面保持空白,直到脚本完成,然后提供所有内容(我没有尝试 10.000 次迭代,但只有 10 次 :))
标签: php padding transfer-encoding