array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.xdiff-file-bpatch.php', 1 => 'xdiff_file_bpatch', ), 'up' => array ( 0 => 'ref.xdiff.php', 1 => 'xdiff 関数', ), 'prev' => array ( 0 => 'function.xdiff-file-bdiff.php', 1 => 'xdiff_file_bdiff', ), 'next' => array ( 0 => 'function.xdiff-file-diff-binary.php', 1 => 'xdiff_file_diff_binary', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/xdiff/functions/xdiff-file-bpatch.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL xdiff >= 1.5.0)
xdiff_file_bpatch — ファイルにバイナリ diff 形式のパッチを適用する
ファイル file
にバイナリ形式のパッチファイル
patch
を適用し、結果をファイル
dest
に保存します。
この関数は、xdiff_file_bdiff() 関数あるいは
xdiff_file_rabdiff()、
そしてそれぞれの文字列版が作成したパッチを受け取ることができます。
file
元のファイル。
patch
バイナリのパッチファイル。
dest
結果のファイルへのパス。
例1 xdiff_file_bpatch() の例
以下のコードはバイナリ diff 形式のパッチをファイルに適用します。
<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';
$result = xdiff_file_bpatch($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
echo "パッチが適用されました";
} else {
echo "パッチが適用できませんでした";
}
?>
注意:
両方のファイル (
file
およびpatch
) がメモリに読み込まれるので、 memory_limit が十分大きな値に設定されていることを確認しましょう。