(PECL xdiff >= 0.2.0)
xdiff_file_patch — 使用 unified diff 修補檔案
使用 patch
修補 file
檔案,並將結果儲存到一個檔案中。 patch
必須是由 xdiff_file_diff()/xdiff_string_diff() 函式所建立的 unified diff 格式。選用的 flags
參數指定操作模式。
file
原始檔案。
patch
unified 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() 範例
以下程式碼將 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 "被拒絕的區塊:\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;
}
?>