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
| <?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[2]] = $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[2]])) {
$result[$data[2]][4] = $data[3];
}
else {
$result[$data[2]] = array(0=>$data[0], 1=>$data[1], 2=>$data[2], 3=>'', 4=>$data[3]);
}
}
fclose($handle);
}
// écrit le fichier combiné
$fp = fopen('result.csv', 'w');
foreach ($result as $values) {
fputcsv($fp, $values, ';');
} |
Partager