xdiff_file_patch
(PECL xdiff >= 0.2.0)
xdiff_file_patch — Patche un fichier avec un diff unifié
Description
$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) ouXDIFF_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()
<?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
<?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;
}
?>