Page 1 sur 1

Comparer deux versions d'un fichier

Posté : 09 avr. 2009, 10:36
par Smartie'S
Bonjour,

Existe-t-il une fonction php qui permet de retourner les différences entre deux versions d'un fichier (non binaire) ?

Actuellement je fais ça à l'arrache comme ceci :
<?php

$diff = array();

exec('diff old-file.html new-file.html --rcs', $diff);

foreach ($diff as $key => $value) {
	$value = htmlentities($value);
	echo '[' . $key . '] => ' . $value . '<br/>';
}

?>
Mais c'est une méthode très lourde car je suis obligé de parser le résultat pour le mettre en forme.

Un grand merci d'avance ;)

Posté : 09 avr. 2009, 13:36
par Sékiltoyai

Posté : 11 avr. 2009, 13:02
par Smartie'S
Merci pour ta réponse ;-)

N'existerait il pas cependant une fonction semblable interne à PHP ne nécessitant pas l'installation de librairie externe ?

Pour avoir parcouru les pages du lien que tu fournis, il semblerait que cette méthode (xdiff) permette exclusivement la génération d'un fichier contenant les différences or, ce que je cherche à faire c'est obtenir ces différences dans une variables.

Merci d'avance :)

Posté : 11 avr. 2009, 13:50
par Sékiltoyai
Le mieux que tu puisses trouver c'est je pense http://www.php.net/manual/fr/function.x ... g-diff.php

Après dans php lui-même, je ne pense pas que ce soit possible simplement. Ou alors tu dois réimplémenter les algorithmes…

Posté : 12 avr. 2009, 18:34
par Hywan
Hey :-),

À ma connaissance, rien n'existe dans PHP nativement pour répondre à ton besoin. Toutefois, installer XDIFF n'a rien de compliqué car c'est une extension PECL. Si tu es sous Unix :

Code : Tout sélectionner

$ pear -v install xdiff
et c'est terminé ;-).

Posté : 23 avr. 2009, 10:27
par Smartie'S
installer XDIFF n'a rien de compliqué
C'est justement ce qui me rebutait :)
Merci pour ta réponse, je vais tenter l'expérience !