Make unified diff of two files

xdiff_file_diff_binary
xdiff_file_merge3
xdiff Functions
PHP Manual

# xdiff_file_diff

(PECL xdiff >= 0.2.0)

xdiff_file_diff — Make unified diff of two files

### Description

bool xdiff_file_diff ( string `$old_file` , string `$new_file` , string `$dest` [, int `$context` = 3 [, bool `$minimal` = false ]] )

Makes an unified diff containing differences between `old_file` and `new_file` and stores it in `dest` file. The resulting file is human-readable. An optional `context` parameter specifies how many lines of context should be added around each change. Setting `minimal` parameter to true will result in outputting the shortest patch file possible (can take a long time).

### Parameters

`old_file`

  Path to the first file. This file acts as "old" file.

`new_file`

  Path to the second file. This file acts as "new" file.

`dest`

  Path of the resulting patch file.

`context`

  Indicates how many lines of context you want to include in diff result.

`minimal`

  Set this parameter to `TRUE` if you want to minimalize size of the result (can take a long time).

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### Examples

Example #1 xdiff_file_diff() example

The following code makes unified diff of two php files with context length of 2.

`<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';
xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>`

### Notes

> Note:

> This function doesn't work well with binary files. To make diff of binary files use xdiff_file_bdiff()/ xdiff_file_rabdiff() function.

### See Also

- xdiff_file_patch() - Patch a file with an unified diff

xdiff_file_diff_binary
xdiff_file_merge3
xdiff Functions
PHP Manual