我通过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();
这就是为什么通过标题来的文件大小不同.. 无论如何,谢谢你的帮助;)
答案 0 :(得分:1)
可能有很多原因。我的赌注,因为它只有2个字节,winrar为归档添加了一个特殊的识别标记,以便知道它是由winrar完成的。
另一种可能性是您可以设置不同级别的压缩,并且您的php zip函数可能设置为更高的压缩率。无论是或者可能是真的,只有真正找到的方法是使用十六进制编辑器并检查这两个文件,看看差异可能存在的位置。
检查的另一种方法是通过压缩不同的文件大小(但是相同的文件)并查看差异是否总是两个字节。如果它总是两个字节,那么win winrar会添加一个识别标记。如果不是,那么压缩率就不同了。