xdiff_file_patch
ファイルに unified diff 形式のパッチを適用する
説明
mixed xdiff_file_patch(
string $file
,
string $patch
,
string $dest
,
int $flags
= DIFF_PATCH_NORMAL
)
パラメータ
-
file
-
元のファイル。
-
patch
-
unified 形式のパッチファイル。
xdiff_string_diff 関数や
xdiff_file_diff 関数、
あるいは互換性のあるツールで作成したものでなければなりません。
-
dest
-
結果のファイルへのパス。
-
flags
-
XDIFF_PATCH_NORMAL
(デフォルト。通常のパッチ)あるいは
XDIFF_PATCH_REVERSE
(逆パッチ)
のいずれか。
バージョン 1.5.0 以降では、バイナリ OR を使用して
XDIFF_PATCH_IGNORESPACE
フラグを有効にすることもできます。
戻り値
内部エラーが発生した場合に false
を返します。
パッチの適用に失敗した場合はパッチが拒否された部分の文字列、
そして成功した場合は true
を返します。
例
例1 xdiff_file_patch の例
以下のコードは、unified diff 形式のパッチをファイルに適用します。
<?php
$old_version = 'my_script-1.0.php';
$patch = 'my_script.patch';
$errors = xdiff_file_patch($old_version, $patch, 'my_script-1.1.php');
if (is_string($errors)) {
echo "Rejects:\n";
echo $errors;
}
?>
例2 逆パッチの例
<?php
$new_version = 'my_script-1.1.php';
$patch = 'my_script.patch';
$errors = xdiff_file_patch($new_version, $patch, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($errors)) {
echo "Rejects:\n";
echo $errors;
}
?>