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。 |