(PECL xdiff >= 1.5.0)
xdiff_file_rabdiff — Faz a comparação binária de dois arquivos usando o algoritmo de impressão digital polinomial de Rabin
Cria uma comparação binária de dois arquivos e armazena o resultado em um arquivo de patch. A diferença entre esta função e xdiff_file_bdiff() é o algoritmo diferente utilizado, que deve resultar em uma execução mais rápida e em uma comparação menor produzida. Esta função funciona tanto com arquivos de texto quanto binários. O arquivo de patch resultante pode ser aplicado posteriormente usando xdiff_file_bpatch()/xdiff_string_bpatch().
Para mais detalhes sobre as diferenças entre os algoritmos utilizados, consulte o site » libxdiff.
old_file
Caminho para o primeiro arquivo. Este arquivo atua como o arquivo "antigo".
new_file
Caminho para o segundo arquivo. Este arquivo atua como um arquivo "novo".
dest
Caminho do arquivo de patch resultante. O arquivo resultante contém diferenças entre os arquivos "antigo" e "novo". Em formato binário e ilegível por humanos.
Exemplo #1 Exemplo de xdiff_file_rabdiff()
O código a seguir faz uma comparação binária de dois arquivos.
<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';
xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>
Nota:
Ambos os arquivos serão carregados na memória, portanto, certifique-se de que o limite de memória esteja definido como alto o suficiente.