zip via php与via winrar有不同的大小

时间:2010-09-23 14:37:31

标签: php zip winrar

我通过php创建一个zip存档 和另一个zip存档通过winrar,但来自相同的文件。

两个档案的大小不同。通过winrar的那个更大(2个字节)。

为什么?感谢。

现在好。 zip是使用php正确创建的。

问题是我使用

发送它
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$name);
header('Content-Length: ' . filesize($name));

并且没有ob_start();ob_end_clean();

这就是为什么通过标题来的文件大小不同.. 无论如何,谢谢你的帮助;)

1 个答案:

答案 0 :(得分:1)

可能有很多原因。我的赌注,因为它只有2个字节,winrar为归档添加了一个特殊的识别标记,以便知道它是由winrar完成的。

另一种可能性是您可以设置不同级别的压缩,并且您的php zip函数可能设置为更高的压缩率。无论是或者可能是真的,只有真正找到的方法是使用十六进制编辑器并检查这两个文件,看看差异可能存在的位置。

检查的另一种方法是通过压缩不同的文件大小(但是相同的文件)并查看差异是否总是两个字节。如果它总是两个字节,那么win winrar会添加一个识别标记。如果不是,那么压缩率就不同了。