update page now
Laravel Live Japan

xdiff_string_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_string_rabdiff 2 つの文字列のバイナリ diff を、Rabin の polynomial fingerprinting アルゴリズムで作成する

説明

xdiff_string_rabdiff(string $old_data, string $new_data): string|false

ふたつの文字列のバイナリ 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);
?>

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top