(PECL xdiff >= 1.5.0)
xdiff_file_rabdiff — Создать бинарный патч сравнивая два файла с помощью полиноминального алгоритма Rabin fingerprinting
$old_file
, string $new_file
, string $dest
) : boolСоздает бинарный патч сравнивая два файла и сохраняет результат в файл. Эта функция отличается от 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 настроен корректно.