PHPCon Poland 2024

xdiff_file_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_file_rabdiffСоздать бинарный патч сравнивая два файла с помощью полиноминального алгоритма Rabin fingerprinting

Описание

xdiff_file_rabdiff(string $old_file, string $new_file, string $dest): bool

Создаёт бинарный патч сравнивая два файла и сохраняет результат в файл. Эта функция отличается от xdiff_file_bdiff() используемым алгоритмом, который работает быстрее и производит патчи меньшего размера. Эта функция работает как с текстом, так и с бинарными данными. Патч впоследствии можно применить с помощью функций xdiff_file_bpatch()/xdiff_string_bpatch().

Более подробно разница алгоритмов объяснена на сайте » libxdiff.

Список параметров

old_file

Путь к первому, "старому" файлу.

new_file

Путь ко второму, "новому" файлу.

dest

Путь результирующего файла патча. Он будет содержать различия между старым и новым файлом в бинарном, человеконечитаемом формате.

Возвращаемые значения

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Пример использования xdiff_file_rabdiff()

Следующий код сравнивает два архива и создаёт патч.

<?php
$old_version
= 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>

Примечания

Замечание:

Оба файла будут загружены в память, так что убедитесь, что параметр memory_limit настроен корректно.

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top