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

# xdiff_file_rabdiff

(PECL xdiff >= 1.5.0)

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

### 説明

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

### 参考

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open