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
| <?php
// lit le premier fichier et classe les résultat par id de produit
if (($handle = fopen("fournisseur1.txt", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
$result[$data[3]] = array_map('trim', $data);
}
fclose($handle);
}
// lit le deuxieme fichier et complète l'entrée si elle existe ou en crée une nouvelle
if (($handle = fopen("fournisseur2.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 0, ";")) !== FALSE) {
if(isset($result[$data[3]])) {
$result[$data[3]][5] = $data[4];
}
else {
$result[$data[3]] = array(0=>$data[0], 1=>$data[1], 2=>$data[2], 3=>$data[3] 4=>'', 5=>$data[4]);
}
}
fclose($handle);
}
// écrit le fichier combiné
$fp = fopen('result.csv', 'w');
foreach ($result as $values) {
fputcsv($fp, $values, ';');
}
?> |
Partager