xdiff_file_patch
(PECL xdiff:0.2-1.4)
xdiff_file_patch — Patch a file with an unified diff
Description
mixed xdiff_file_patch
( string $file
, string $patch
, string $dest
[, int $flags
] )
Patches a file with a unified patch and stores the result in a file.
Parameters
- file
-
The original file.
- patch
-
The patch file.
- dest
-
Path of the resulting file.
- flags
-
Can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).
Return Values
Returns FALSE if an internal error happened, string with rejected chunks of patch or TRUE if patch has been successfully applied.
Examples
Example#1 xdiff_file_patch() example
The following code applies unified diff to a file.
<?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;
}
?>
Example#2 Patch reversing example
The following code reverses a patch.
<?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;
}
?>