array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.xdiff-file-bdiff.php', 1 => 'xdiff_file_bdiff', ), 'up' => array ( 0 => 'ref.xdiff.php', 1 => 'xdiff 関数', ), 'prev' => array ( 0 => 'function.xdiff-file-bdiff-size.php', 1 => 'xdiff_file_bdiff_size', ), 'next' => array ( 0 => 'function.xdiff-file-bpatch.php', 1 => 'xdiff_file_bpatch', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/xdiff/functions/xdiff-file-bdiff.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL xdiff >= 1.5.0)
xdiff_file_bdiff — 2 つのファイルのバイナリ diff を作成する
ふたつのファイルのバイナリ diff を作成し、その結果をパッチファイルとして保存します。 この関数はテキストファイルとバイナリファイルの両方に適用可能です。 できあがったパッチファイルを後で適用するには xdiff_file_bpatch()/xdiff_string_bpatch() を使用します。
old_file
最初のファイルへのパス。"旧" ファイルです。
new_file
2 番目のファイルへのパス。"新" ファイルです。
dest
結果のパッチファイルへのパス。 "旧" ファイルと "新" ファイルの差分がこのファイルの内容となります。 このファイルはバイナリフォーマットで、人間には読めない形式です。
例1 xdiff_file_bdiff() の例
以下のコードは 2 つのアーカイブのバイナリ diff を作成します。
<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';
xdiff_file_bdiff($old_version, $new_version, 'my_script.bdiff');
?>
注意:
両方のファイルがメモリに読み込まれるので、 memory_limit が十分大きな値に設定されていることを確認しましょう。