Функция PHP xdiff_file_patch

mixed xdiff_file_patch ( string file, string patch, string dest [, int flags] )

xdiff_file_patch patches file file with unified patch in file patch and stores result in file dest.

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

Returns FALSE if an internal error happened, string with rejected chunks of patch or TRUE if patch has been successfully applied.

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

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

See also xdiff_string_patch.