Comparer deux versions d'un fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comparer deux versions d'un fichier

par Smartie'S » 23 avr. 2009, 10:27

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 !

par Hywan » 12 avr. 2009, 18:34

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é ;-).

par Sékiltoyai » 11 avr. 2009, 13:50

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…

par Smartie'S » 11 avr. 2009, 13:02

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 :)

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

Comparer deux versions d'un fichier

par Smartie'S » 09 avr. 2009, 10:36

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 ;)