# 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;
}
?>`

### See Also

- xdiff_string_patch()