php echo gzipped文件切断了一半

时间:2011-09-15 14:28:02

标签: php gzip

我正在尝试从服务器发送gzip压缩内容。我已经压缩了一个文件(get it here),我正在尝试echo我已经设置了正确的标题(我认为)。输出开始正确,但只输出第一行这么多行。

<?php
  $file = file_get_contents('kendo/js/kendo.all.js.gz');
  header('Content-Encoding: gzip');
  header('Content-Length: '.strlen($file)); # gets the correct filesize of my gzipped file
  echo $file;
?>

我的方法有问题吗?

2 个答案:

答案 0 :(得分:1)

您的内容长度是gzip压缩文件的长度,而不是实际的.js文件。

因此,一旦达到gzip压缩文件的长度,内容就会被截断。考虑使用ob_gzhandler

http://php.net/manual/en/function.ob-gzhandler.php

答案 1 :(得分:1)

发布的代码有效 - 还有另一个错误,我假设是浏览器缓存问题 - 但这已经解决了。