xdiff_file_patch

(PECL)

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;
}

?>

See Also

xdiff_string_patch()