(PECL xdiff >= 0.2.0)
xdiff_file_patch — Corrige um arquivo com uma comparação unificada
Corrige o arquivo file
com um patch
e armazena o resultado em um arquivo.
patch
deve ser uma comparação unificada criada pela função
xdiff_file_diff()/xdiff_string_diff().
Um parâmetro opcional flags
especifica o modo de operação.
file
O arquivo original.
patch
O arquivo de patch unificado. Ele deve ser criado usando as funções xdiff_string_diff(), xdiff_file_diff() ou ferramentas compatíveis.
dest
Caminho do arquivo resultante.
flags
Pode ser XDIFF_PATCH_NORMAL
(modo padrão,
patch normal) ou XDIFF_PATCH_REVERSE
(patch
reverso).
A partir da versão 1.5.0, pode-se também usar a operação binária OR para habilitar o sinalizador
XDIFF_PATCH_IGNORESPACE
.
Retorna false
se ocorreu um erro interno, string com pedaços rejeitados
se o patch não pôde ser aplicado ou true
se o patch foi aplicado com sucesso.
Exemplo #1 Exemplo de xdiff_file_patch()
O código a seguir aplica uma comparação unificada a um arquivo.
<?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;
}
?>
Exemplo #2 Patch reversing example
O código a seguir reverte um 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;
}
?>