【问题标题】:Estimate ZipArchive size before creation在创建之前估计 ZipArchive 的大小
【发布时间】:2018-02-11 07:01:13
【问题描述】:

鉴于我知道输入的文件大小,有什么方法可以估计ZipArchives 的输出大小(在创建之前)?我在文档中找不到关于比率的明确定义:例如1mb 压缩到 800kb 或其他大小。

【问题讨论】:

    标签: php zip zipfile ziparchive


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      正如 Syscall 提到的,这真的很难估计。

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

      例如:

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

      之后,您知道您的第一次跑步需要(假设)1.5 分钟。然后,您可以根据要压缩的数据的增长来估计下一次运行。可能 +10% 或 +20%

      希望对你有帮助

      【讨论】:

      • 有趣的解决方案,但如果不可能,那就不可能了。估计大小并不是什么大问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      • 2012-10-18
      • 1970-01-01
      • 2018-06-19
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      相关资源
      最近更新 更多