(PECL xdiff >= 1.5.0)
xdiff_string_rabdiff — Make a binary diff of two strings using the Rabin's polynomial fingerprinting algorithm
Makes a binary diff of two strings using the Rabin's polynomial fingerprinting algorithm implemented by » libxdiff. Compared to xdiff_string_bdiff(), this algorithm generally produces smaller diffs and operates faster, while remaining fully compatible with xdiff_string_bpatch() and xdiff_file_bpatch() for applying patches.
This function can be used with both text and binary data. The resulting diff data can later be applied to recreate the new version from the old one.
For further information about the algorithm, see the » libxdiff documentation.
old_dataThe first string containing the "old" binary data.
new_dataThe second string containing the "new" binary data.
Returns a binary diff string containing the differences between the old and new data, or false on failure.
Example #1 Creation of a binary diff between two strings
<?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);
?>