Php/docs/function.xdiff-file-rabdiff

提供:Dev Guides
< Php
移動先:案内検索

xdiff_file_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_file_rabdiff2 つのファイルのバイナリ diff を、Rabin の polynomial fingerprinting アルゴリズムで作成する


説明

xdiff_file_rabdiff ( string $old_file , string $new_file , string $dest ) : bool

ふたつのファイルのバイナリ diff を作成し、その結果をパッチファイルとして保存します。 この関数と xdiff_file_bdiff() との違いは、 使用するアルゴリズムです。この関数のほうが実行速度が速く、より小さな diff を生成します。 この関数はテキストファイルとバイナリファイルの両方に適用可能です。 できあがったパッチファイルを後で適用するには xdiff_file_bpatch()/xdiff_string_bpatch() を使用します。

アルゴリズムの違いについての詳細は、 » libxdiff のウェブサイトを参照ください。


パラメータ

old_file
最初のファイルへのパス。"旧" ファイルです。
new_file
2 番目のファイルへのパス。"新" ファイルです。
dest
結果のパッチファイルへのパス。 "旧" ファイルと "新" ファイルの差分がこのファイルの内容となります。 このファイルはバイナリフォーマットで、人間には読めない形式です。


返り値

成功した場合に true を、失敗した場合に false を返します。


例1 xdiff_file_rabdiff() の例

以下のコードは 2 つのアーカイブのバイナリ diff を作成します。


<?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 が十分大きな値に設定されていることを確認しましょう。

参考