PHP 8.4.1 Released!

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 Пример отката патча

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

<?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() - Создать унифицированный патч из сравнения двух файлов

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top