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.
The original file.
The unified patch file. It has to be created using xdiff_string_diff(), xdiff_file_diff() functions or compatible tools.
Path of the resulting file.
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.
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; } ?>
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; } ?>
Please login to continue.