(PECL xdiff >= 1.5.0)
xdiff_file_rabdiff — Создать бинарный патч сравнивая два файла с помощью полиноминального алгоритма Rabin fingerprinting
Создаёт бинарный патч сравнивая два файла и сохраняет результат в файл. Эта функция отличается от xdiff_file_bdiff() используемым алгоритмом, который работает быстрее и производит патчи меньшего размера. Эта функция работает как с текстом, так и с бинарными данными. Патч впоследствии можно применить с помощью функций xdiff_file_bpatch()/xdiff_string_bpatch().
Более подробно разница алгоритмов объяснена на сайте » libxdiff.
old_file
Путь к первому, "старому" файлу.
new_file
Путь ко второму, "новому" файлу.
dest
Путь результирующего файла патча. Он будет содержать различия между старым и новым файлом в бинарном, человеконечитаемом формате.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Пример #1 Пример использования xdiff_file_rabdiff()
Следующий код сравнивает два архива и создаёт патч.
<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';
xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>
Замечание:
Оба файла будут загружены в память, так что убедитесь, что параметр memory_limit настроен корректно.