通过php压缩的大小与通过winrar压缩的大小不同

通过php压缩的大小与通过winrar压缩的大小不同,php,zip,winrar,Php,Zip,Winrar,我通过php创建了一个zip存档 和另一个通过winrar的zip存档,但来自相同的文件 两个档案的大小不同。通过winrar的一个更大(2字节) 为什么??谢谢 好的。 zip是使用php正确创建的 问题是我用的是 header('Content-Type: application/zip'); header('Content-disposition: attachment; filename='.$name); header('Content-Length: ' . filesize($na

我通过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()

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

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

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


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

您是否对文件进行了字节比较,以查看差异是否一致?我不理解您的问题。不同尺寸的衣服没有什么不好的,这是正常的。你们的标题必须包含实际大小。问题是,我可以用winrar解压它。但另一个人试图解压它,得到了一个错误mesasge>>警告[pokus_php.zip]:在zipfile的开头或内部额外增加了2个字节(无论如何都在尝试处理),我尝试了php ZIPARCHIVE和一些基于Rochak Chauhan的CreateZipFile的zip类。。我想在SCORM中使用zip文件,问题是来自php的文件不好,而来自winrar的文件是好信息,可以在最初发布。您可以发布您正在使用的整个脚本吗,因为额外的两个字节可能是由空格引起的。