0

我正在编写一个(PHP)脚本,为客户端提供文件。其中,Content-Length 标头被发送,只是它有一个字节太多。当我将内容长度放在不同的标头中时,我发现了这一点,并比较了两者:

$filesize = filesize($file);
header('Content-Length: ' . $filesize);
header('X-Content-Length: ' . $filesize);

结果:

Content-Length: 3481
X-Content-Length: 3480

即使硬编码3480header()函数中,结果也是如此。我怀疑 Apache 对我的标题这样做了。

这可能是什么原因造成的?

编辑:给出一些上下文:我认为 Zend Framework 导致了这个:我正在将当前正在生产(和工作)的代码重构到出现问题的 ZF。当我在 ZF 之外尝试这段代码时,一切都很好。也许 ZF 正在做输出缓冲,并重新发送标头本身或其他东西,但我不太了解 ZF。

4

1 回答 1

0

这不是 Apache 做的,而是 PHP 打开标记前的空格与输出缓冲相结合。

于 2011-05-03T09:35:44.483 回答