(PECL xdiff >= 1.5.0)
xdiff_string_rabdiff — Сравнить две строки и создать бинарный патч используя полиноминальный алгоритм Rabin fingerprint
Создаёт бинарный патч для двух строк с помощью алгоритма цифровых отпечатков полиномов Рабина, реализованного в » libxdiff. По сравнению с функций xdiff_string_bdiff(), этот алгоритм обычно даёт меньшие различия и работает быстрее, оставаясь полностью совместимым с функциями xdiff_string_bpatch() и xdiff_file_bpatch() для применения патчей.
Функция может использоваться как с текстовыми, так и с двоичными данными. Полученные данные бинарного патча могут быть позже применены для воссоздания новой версии из старой.
Более подробно о различиях в алгоритмах читайте » документацию libxdiff.
old_dataПервая строка, содержащая «старые» бинарные данные.
new_dataВторая строка, содержащая «новые» бинарные данные.
Функция возвращает строку с бинарным патчем, содержащую различия между старыми
и новыми данными или false, если возникла ошибка.
Пример #1 Создание двоичного сравнения между двумя строками
<?php
$old = file_get_contents('file_v1.txt');
$new = file_get_contents('file_v2.txt');
$diff = xdiff_string_rabdiff($old, $new);
file_put_contents('patch.rdiff', $diff);
?>