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> <xattr_supported
[edit] Last updated: Mon, 01 Nov 2010

view this page in

CLXVII. xdiff Functions

Wstęp

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

Wymagania

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

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

Instalacja

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:

Przykład 1. xdiff install by hand

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

Stałe predefinopwane

Poniższe stałe są zdefiniowane w tym rozszerzeniu i stają się dostępne, gdy rozszerzenie jest dokompilowane do PHP, lub załadowane dynamicznie przy starcie.

XDIFF_PATCH_NORMAL (integer)

XDIFF_PATCH_REVERSE (integer)

Spis treści
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