update pague now
PHP 8.5.2 Released!

xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patch Patch a file with an unified diff

Description

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.

Parameters

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 versionen 1.5.0, you can also use binary OR to enable XDIFF_PATCH_IGNORESPACE flag.

Return Values

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

Examples

Example #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 ;
}

?>

Example #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 ;
}

?>

See Also

add a note

User Contributed Notes

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