array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.xdiff-file-diff.php', 1 => 'xdiff_file_diff', ), 'up' => array ( 0 => 'ref.xdiff.php', 1 => 'Функции xdiff', ), 'prev' => array ( 0 => 'function.xdiff-file-diff-binary.php', 1 => 'xdiff_file_diff_binary', ), 'next' => array ( 0 => 'function.xdiff-file-merge3.php', 1 => 'xdiff_file_merge3', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/xdiff/functions/xdiff-file-diff.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL xdiff >= 0.2.0)
xdiff_file_diff — Создать унифицированный патч из сравнения двух файлов
$old_file
,$new_file
,$dest
,$context
= 3,$minimal
= false
Создаёт унифицированный патч, содержащий различия двух файлов
old_file
и new_file
и сохраняет его
в файл dest
. Результат человекочитаемый.
Необязательный параметр context
указывает, сколько
строк контекста должно быть добавлено вокруг каждой изменённой строки.
Задание параметра minimal
равным true
приведёт к
созданию максимально короткого патча, что может занять много времени.
old_file
Путь к первому, "старому" файлу.
new_file
Путь ко второму, "новому" файлу.
dest
Путь к файлу патча.
context
Указывает, сколько строк контекста необходимо включить в патч.
minimal
Установите равным true
, чтобы минимизировать размер патча. Может
занять продолжительное время.
Возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Пример #1 Пример использования xdiff_file_diff()
В следующем примере создаётся унифицированный патч двух скриптов php с величиной контекста 2.
<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';
xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>
Замечание:
С бинарными данными эта функция работает плохо. Для бинарных патчей используйте xdiff_file_bdiff()/xdiff_file_rabdiff().