CakeFest 2024: The Official CakePHP Conference

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

参考

add a note

User Contributed Notes

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