Dutch PHP Conference 2025 - Call For Papers

xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patchPatch a file with an unified diff

Опис

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

Patches a file with a patch and stores the result in a file. patch has to be an unified diff created by xdiff_file_diff()/xdiff_string_diff() function. An optional flags parameter specifies mode of operation.

Параметри

file

The original file.

patch

The unified patch file. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.

dest

Path of the resulting file.

flags

Can be either XDIFF_PATCH_NORMAL (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed patch).

Starting from version 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

Значення, що повертаються

Returns false if an internal error happened, string with rejected chunks if patch couldn't be applied or true if patch has been successfully applied.

Приклади

Приклад #1 xdiff_file_patch() example

The following code applies unified diff to a file.

<?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
"Rejects:\n";
echo
$errors;
}

?>

Приклад #2 Patch reversing example

The following code reverses a patch.

<?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
"Rejects:\n";
echo
$errors;
}

?>

Прогляньте також

add a note

User Contributed Notes

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