PHP - xdiff 函数


xdiff 扩展使我们能够创建和应用包含不同版本文件之间差异的补丁文件。

此扩展可以支持两种作模式:字符串文件,以及两种不同的补丁格式:统一二进制

统一的补丁非常适合文本文件,因为它们是人类可读的并且易于查看。

对于二进制文件:档案或图像,二进制补丁可能是一个合适的选择,因为它们是二进制安全的,并且可以处理不可打印的字符。

从版本 1.5.0 开始,有两组不同的函数可用于生成二进制补丁。

新函数:xdiff_string_rabdiff() 和 xdiff_file_rabdiff() 可以生成与旧函数兼容的输出,但通常速度更快且生成的结果更小。

此扩展可以使用 libxdiff 来实现这些功能。

预定义常量

常量由此扩展在下面定义,并且仅当扩展已编译为 PHP 或在运行时动态加载时可用。

描述
XDIFF_PATCH_NORMAL (integer) 表示 xdiff_string_patch()xdiff_file_patch() 函数应通过将补丁应用于原始内容来创建结果,从而创建更新版本的文件。这是默认操作模式。
XDIFF_PATCH_REVERSE (integer) 表示 xdiff_string_patch()xdiff_file_patch() 函数应通过反转从较新内容更改的补丁来创建结果,从而创建原始版本。

函数列表

函数 描述
xdiff_file_bdiff() 制作两个文件的二进制 diff。
xdiff_file_bdiff_size() 读取通过应用二进制 diff 创建的文件大小。
xdiff_file_bpatch() 修补具有二进制 diff 的文件。
xdiff_file_diff() 制作两个文件的统一 diff。
xdiff_file_diff_binary() 制作两个文件的二进制 diff。
xdiff_file_merge3() 将三个文件合并为一个..
xdiff_file_patch() 修补具有统一 diff 的文件。
xdiff_file_patch_binary() 是 xdiff_file_bpatch() 的别名。
xdiff_file_rabdiff() 使用 Rabin 的多项式指纹算法来制作两个文件的二进制 diff。
xdiff_string_bdiff() 制作两个字符串的二进制 diff。
xdiff_string_bdiff_size() 读取通过应用二进制 diff 创建的文件大小。
xdiff_string_bpatch() 使用二进制 diff 修补字符串。
xdiff_string_diff() 制作两个字符串的统一 diff。
xdiff_string_diff_binary() 是 xdiff_string_bdiff() 的别名。
xdiff_string_merge3() 将三个字符串合并为一个。
xdiff_string_patch() 使用统一的 diff 修补字符串。
xdiff_string_patch_binary() 是 xdiff_string_bpatch() 的别名。
xdiff_string_rabdiff() 通过使用 Rabin 的多项式指纹算法来制作两个字符串的二进制 diff。