优化检查 gz 压缩文件的更改

Optimize checking gzcompressed file for changes

我有将数据存储在 gz 压缩文件中的功能,比如

function savedata($fileName,&$data){
    file_put_contents($filename,gzcompress($data));
}

如果数据与已存储的 gz 压缩文件中的数据相同,我想优化并且不保存。

我可以打开整个文件,解压缩并与 $data 进行比较,但我认为应该有其他方法。
可能 gz-d 数据有一些 crc 或类似的东西那,所以我可以压缩数据,从中获取 crc 并将其与现有文件或类似文件中的 crc 进行比较。

所以我只想优化检查文件并$data进行更改以使其更快。

gzcompress() in PHP 压缩为 zlib 格式,而不是 gzip 格式。

每个 zlib 流都以一个四字节的校验值结束,但不是 CRC。您可以比较它们以查看两个流是否不同。但是如果两个校验值相同,则不能断定流是相同的。