0

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

两个档案的大小不同。通过 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();

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

4

1 回答 1

1

可能有很多原因。我敢打赌,因为它只有 2 个字节,winrar 会在存档中添加一个特殊的识别标记,以知道它是由 winrar 完成的。

另一种可能性是您可以设置不同的压缩级别,并且您的 php zip 函数可能设置为更高的压缩率。要么是真的,要么可能是真的,真正找出答案的唯一方法是使用十六进制编辑器并检查这两个文件,看看差异可能在哪里。

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

于 2010-09-23T14:42:22.773 回答