xdiff_file_patch
xdiff_string_bdiff_size
xdiff 関数
PHP Manual

# xdiff_file_rabdiff

(PECL xdiff >= 0.2.0)

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

### 説明

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

ふたつのファイルのバイナリ 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 が十分大きな値に設定されていることを確認しましょう。

### 参考

- xdiff_file_bpatch() - ファイルにバイナリ diff 形式のパッチを適用する

xdiff_file_patch
xdiff_string_bdiff_size
xdiff 関数
PHP Manual