xdiff_file_patch_binary
xdiff_file_rabdiff
Fonctions xdiff
PHP Manual

# xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patch — Patche un fichier avec un diff unifié

### Description

mixed xdiff_file_patch ( string `$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.

### Liste de paramètres

`file`

  Le fichier original.

`patch`

  Le 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.

`dest`

  Le 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`.

### Valeurs de retour

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.

### Exemples

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;
}
?>`

### Voir aussi

- xdiff_file_diff() - Créé un diff unifié entre deux fichiers

xdiff_file_patch_binary
xdiff_file_rabdiff
Fonctions xdiff
PHP Manual