1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| <?php
// on cree la fonction
function recupcsv($nomfichier) {
$tabcsv = array(); // On cree un tableau
$recupfichier = fopen($nomfichier , "r"); // Ouverture d'un fichier
if ($recupfichier) {
// On test la fin du fichier
while (!feof($recupfichier)) {
$valeur = fgetcsv($recupfichier , 0 , ';' , '"' ); // Recuperation des donnees du csv
if ( empty($valeur)) continue; // Donnee vide
//CONTINUE: structure de controle
$key=$valeur[3];
$tabcsv[$key]=$valeur; // On met les valeur dans le tableau
}
fclose($recupfichier); // On ferme le fichier
} else {
throw new Exception("erreur de lecture du fichier $nomfichier"); // On lance une exception(fichier incorrecte)
}
return $tabcsv; // On conserve notre tableau
}
/*---------- LANCEMENT DU PROGRAMME ----------*/
$nomfichier1=isset($_REQUEST['f1'])?/*$_REQUEST['f1']*/:'infosA.csv'; // On rentre le nom du premier fichier
$nomfichier2=isset($_REQUEST['f2'])?/*$_REQUEST['f2']*/:'infosB.csv'; // On rentre le nom du second fichier
if ( !$nomfichier1 ) { die("Il me faut le premier fichier (f1)"); }// On verifie la presence du premier fichier
if ( !$nomfichier2 ) { die("Il me faut le second fichier (f2)"); }// On verifie la presence du second fichier
try {
$tabfichier1 = recupcsv($nomfichier1); // On lance la fonction cree precedement sur le premier fichier
$tabfichier2 = recupcsv($nomfichier2);
} catch (Exception $e) { // On recupere les exception dans une variable e
die($e->getMessage()); // On demande d'afficher le message destinée au exception
}
print_r($tabfichier1);
echo '</br>';
print_r($tabfichier2);
echo '</br>';
foreach ($tabfichier1 as $key => $val){
while(list($key_det_1, $val_det_1)=each($val)){
if($tabfichier2[$key][$key_det_1] != $val_det_1) echo $key." => ".$key_det_1." => ".$val_det_1." || ".$tabfichier2[$key][$key_det_1]."<br>";
}
}
?> |
Partager