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