xdiff_file_patch
(PECL xdiff >= 0.2.0)
xdiff_file_patch — Применение унифицированного патча к файлу
Описание
$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;
}
?>