(PECL xdiff >= 0.2.0)
xdiff_file_patch — Patche un fichier avec un diff unifié
$file
   , string $patch
   , string $dest
   [, int $flags = DIFF_PATCH_NORMAL
  ] )
   Patche le fichier file avec le patch fourni par
   le paramètre patch et enregistre le résultat dans un
   fichier. patch doit être un diff unifié créé par la
   fonction xdiff_file_diff()/xdiff_string_diff().
   Un paramètre optionnel flags spécifie le mode de
   l'opération.
  
fileLe fichier original.
patchLe fichier contenant le patch unifié. Il doit avoir été créé en utilisant les fonctions xdiff_string_diff(), xdiff_file_diff() ou par des outils compatibles.
destLe chemin vers le fichier résultat.
flags
       Peut être soit XDIFF_PATCH_NORMAL (mode par
       défaut, patch normal) ou XDIFF_PATCH_REVERSE
       (patch inversé).
      
       Depuis la version 1.5.0, vous pouvez également utiliser l'opérateur
       binaire OR pour activer le drapeau
       XDIFF_PATCH_IGNORESPACE.
      
   Retourne FALSE si une erreur interne s'est produite, une
   chaîne avec les parties rejetées du patch si c'est le
   cas ou TRUE si le patch a été appliqué avec succès.
  
Exemple #1 Exemple avec xdiff_file_patch()
Le code suivant applique un diff à un fichier.
<?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 "Rejets :\n";
   echo $errors;
}
?>
Exemple #2 Exemple de retour à l'état initial après l'application d'un patch
Le code suivant annule un 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 "Rejets :\n";
   echo $errors;
}
?>