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

search for in the

xdiff_file_diff_binary> <xattr_supported
Last updated: Sun, 25 Nov 2007

view this page in

xdiff Functions

Úvod

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

Požiadavky

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.

Inštalácia

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

Preddefinované Konštanty

Konštanty uvedené nižšie sú definované týmto rozšírením a budú dostupné iba keď rozšírenie bolo buď kompilované do PHP alebo dynamicky načítané za behu (runtime).

XDIFF_PATCH_NORMAL (integer)
XDIFF_PATCH_REVERSE (integer)

Table of Contents



add a note add a note User Contributed Notes
xdiff
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";

xdiff_file_diff_binary> <xattr_supported
Last updated: Sun, 25 Nov 2007
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites