xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patchПрименение унифицированного патча к файлу

Описание

xdiff_file_patch ( string $file , string $patch , string $dest [, int $flags = DIFF_PATCH_NORMAL ] ) : mixed

Применяет к файлу file патча patch и сохраняет результат в файл. patch должен быть унифицированным патчем, созданным функциями xdiff_file_diff()/xdiff_string_diff(). Необязательный параметр flags задает режим операции.

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

file

Оригинальный файл.

patch

Унифицированный патч. Его можно создать функциями xdiff_string_diff() и xdiff_file_diff(), либо другими совместимыми инструментами.

dest

Путь к результирующему файлу.

flags

Может быть XDIFF_PATCH_NORMAL (режим по умолчанию, нормальное создание патча) или XDIFF_PATCH_REVERSE (откат патча).

Начиная с версии 1.5.0 вы можете использовать побитовое ИЛИ для подключения флага XDIFF_PATCH_IGNORESPACE.

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

Возвращает TRUE, если создание патча прошло успешно, строку с отклоненными данными, если нет, и FALSE в случае внутренней ошибки.

Примеры

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

Следующий код применяет унифицированный патч к файлу.

<?php
$old_version 
'my_script-1.0.php';
$patch 'my_script.patch';

$errors xdiff_file_patch($old_version$patch'my_script-1.1.php');
if (
is_string($errors)) {
   echo 
"Отклонены:\n";
   echo 
$errors;
}

?>

Пример #2 Patch reversing example

Следующий код применяет откат патча к файлу.

<?php
$new_version 
'my_script-1.1.php';
$patch 'my_script.patch';

$errors xdiff_file_patch($new_version$patch'my_script-1.0.php'XDIFF_PATCH_REVERSE);
if (
is_string($errors)) {
   echo 
"Отклонены:\n";
   echo 
$errors;
}

?>

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

  • xdiff_file_diff() - Создать унифицированный патч из сравнения двух файлов