在创建之前估计ZipArchive大小

时间:2018-02-11 07:01:13

标签: php zip zipfile ziparchive

考虑到我知道输入的文件大小,有没有办法估算ZipArchive的输出大小(创建之前)?我无法在有关比率的文档中找到明确的内容:例如1mb压缩到800kb或其他任何东西。

2 个答案:

答案 0 :(得分:3)

估计它是不可能的,因为它取决于添加的文件的内容。如果添加的文件包含许多相同的字符,则压缩率会很高。如果有许多不同的字节,则压缩率会很低。

它还可能取决于无损数据压缩。某些媒体格式可以比另一种未知的二进制格式压缩得更多(以可接受的方式)。

答案 1 :(得分:1)

正如Syscall提到的那样,很难估计。

如果您需要此功能,可以使用旧数据来估算新的zip。

例如:

您想要创建资产文件夹的备份。您可以跟踪创建时间并保存此结果。

在那之后,你知道你的第一次跑步(让我们说)1.5分钟。然后,您可以估计与您要压缩的数据增长相关的下一次运行。也许+ 10%或+ 20%

希望这有帮助