(PECL xdiff >= 0.2.0)
xdiff_file_patch — 使用统一 diff 修补文件
使用 patch
修补 file
并将结果存储到文件中。 patch
必须是由 xdiff_file_diff()/xdiff_string_diff() 函数创建的统一 diff。可选的 flags
参数指定操作模式。
file
原始文件。
patch
统一补丁文件。它必须使用 xdiff_string_diff()、xdiff_file_diff() 函数或兼容的工具创建。
dest
结果文件的路径。
flags
可以是 XDIFF_PATCH_NORMAL
(默认模式,普通补丁)或 XDIFF_PATCH_REVERSE
(反向补丁)。
从 1.5.0 版本开始,您还可以使用二进制 OR 来启用 XDIFF_PATCH_IGNORESPACE
标志。
示例 #1 xdiff_file_patch() 示例
以下代码将统一 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 "拒绝:\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 "拒绝:\n";
echo $errors;
}
?>