downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

xdiff_file_diff_binary> <xmlrpc_set_type
[edit] Last updated: Mon, 01 Nov 2010

view this page in

CXXI. xdiff Functions

Introducere

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

Necesități

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

Instalare

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:

Exemplu 1. xdiff install by hand

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

Constante predefinite

Aceste constante sunt definite de această extensie și vor fi disponibile doar cînd extensia a fost fie compilată odată la instalarea PHP fie dacă extensia este încărcată dinamic la rulare.

XDIFF_PATCH_NORMAL (integer)

XDIFF_PATCH_REVERSE (integer)

Cuprins
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.


add a note add a note User Contributed Notes xdiff Functions
mg 01-Jul-2008 09:00
This seems to be fixed with newer version of libxdiff (which is used by xdiff extension).

According to library changelog:
--------------------------------------
* Sun, Mar 26 2006 - Davide Libenzi
  Fixed the missing end of line problem for text diff and patch.
--------------------------------------
amir.laher 05-Apr-2005 02:09
the xdiff functions require your initial string to end with a \n character.

When you use xdiff_string_diff, the initial string must either be zero-length or end with \n
eg. $patch= xdiff_string_diff($string,$string2);

if not, the patch will return an empty string.
xdiff_string_patch($string,$patch);

This will not normally affect xdiff_file_diff, but it's annoying nevertheless. To prevent this unexpected effect, I append a \n to the string before applying the initial diff, as follows.
if (!ereg("\n$",$string)) $string.="\n";

 
show source | credits | sitemap | contact | advertising | mirror sites