2016-10-08 3 views
1

У меня есть функция, которая хранит данные в файлах gzcompressed, какОптимизация проверки gzcompressed файл для изменения

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

Я хочу, чтобы оптимизировать и не сохранить, если данные так же, как и в уже хранится gzcompressed файла.

Я могу открыть весь файл, распаковать его и сравнить с $data, но я думаю, что должен быть какой-то другой способ.
Вероятно, данные gz-d имеют некоторый crc или что-то в этом роде, поэтому я могу просто сжать данные, извлечь crc из него и сравнить его с crc в уже существующем файле или что-то в этом роде.

Так что я просто хочу омстимулировать проверку файла и $data для внесения изменений, чтобы сделать его быстрее.

+0

PHP? Вы должны упомянуть язык или, по крайней мере, иметь тег. –

ответ

1

gzcompress() в PHP сжимается в формате zlib, а не в формате gzip.

Каждый поток zlib заканчивается четырехбайтовым значением проверки, но не CRC. Вы можете сравнить их, чтобы увидеть, отличаются ли два потока. Однако, если два значения проверки одинаковы, вы не можете заключить, что потоки одинаковы.

Смежные вопросы