(PECL xdiff >= 1.5.0)
xdiff_string_rabdiff — 2 つの文字列のバイナリ diff を、Rabin の polynomial fingerprinting アルゴリズムで作成する
ふたつの文字列のバイナリ diff を生成します。 » libxdiff によって実装された Rabin の polynomial fingerprinting アルゴリズムを使用します。 この関数と xdiff_string_bdiff() との違いは、 使用するアルゴリズムです。この関数のほうが実行速度が速く、 より小さな diff を生成します。 また、パッチを適用する際に用いる xdiff_string_bpatch() や xdiff_file_bpatch() と完全な互換性があります。
この関数はテキストファイルとバイナリファイルの両方に適用可能です。 生成された diff データは後に適用することで、 古いバージョンから新しいバージョンを再構築できます。
アルゴリズムの詳細は、 » libxdiff documentation を参照ください。
old_data"旧" バイナリデータを含む最初の文字列
new_data"新" バイナリデータを含む 2 番目の文字列
"旧" データと "新" データの差分を含むバイナリ diff 文字列を返します。
失敗した場合に false を返します
例1 2つの文字列間のバイナリ diff を作成する
<?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);
?>