我使用 php 创建了数百个文件夹和文本文件,然后将它们添加到 zip 存档中。
这一切都工作正常,但如果我使用相同的文件夹和文件创建另一个 zip 存档,新存档将具有与第一个存档不同的哈希值。如果我使用 winrar 而不是 php 创建存档,情况是一样的。
当我压缩通过 php 创建的文件时,它似乎只显示不同的哈希值,但它们打开得很好。
很奇怪有人对此有任何了解吗?
Thanks
Zip 不是确定性的。为了解决这个 zip 问题(例如,当你有 CI 并且需要更新 AWS lambda 时,这确实是个问题,并且不想每次都更新它,但只有当某些内容确实发生变化时)我使用了这篇文章:https://medium.com/@pat_wilson/building-deterministic-zip-files-with-built-in-commands-741275116a19 https://medium.com/@pat_wilson/building-deterministic-zip-files-with-built-in-commands-741275116a19
像这样:
find . -exec touch -t "$(git ls-files -z . | \
xargs -0 -n1 -I{} -- git log -1 --date=format:"%Y%m%d%H%M" --format="%ad" '{}' | \
sort -r | head -n 1)" '{}' +
zip -rq -D -X -9 -A --compression-method deflate dest.zip sources...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)