# xdiff Functions

## Introduction

xdiff extension creates and applies patches to both text and binary files.

## Requirements

To use xdiff, you will need libxdiff installed, available on the libxdiff homepage » http://www.xmailserver.org/xdiff-lib.html.

> Note: You'll need at least libxdiff 0.7 for these functions to be aware of memory_limit.

## Installation

xdiff is currently available through PECL » http://pecl.php.net/package/xdiff.

If » PEAR is available on your *nix-like system you can use the pear installer to install the xdiff extension, by the following command: pear -v install xdiff.

You can always download the tar.gz package and install xdiff by hand:

Example#1 xdiff install by hand

    gunzip xdiff-xxx.tgz
    tar -xvf xdiff-xxx.tar
    cd xdiff-xxx
    phpize
    ./configure && make && make install

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`XDIFF_PATCH_NORMAL` (integer)
`XDIFF_PATCH_REVERSE` (integer)

## Table of Contents

- xdiff_file_diff_binary — Make binary diff of two files
- xdiff_file_diff — Make unified diff of two files
- xdiff_file_merge3 — Merge 3 files into one
- xdiff_file_patch_binary — Patch a file with a binary diff
- xdiff_file_patch — Patch a file with an unified diff
- xdiff_string_diff_binary — Make binary diff of two strings
- xdiff_string_diff — Make unified diff of two strings
- xdiff_string_merge3 — Merge 3 strings into one
- xdiff_string_patch_binary — Patch a string with a binary diff
- xdiff_string_patch — Patch a string with an unified diff