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
| <?php
// Paramétrage des fichiers
$file_source = 'Fichier2.csv';
$file_destination = 'Fichier3.new.csv';
// Création du fichier de destination
$fp_destination = fopen($file_destination, 'w');
fputcsv($fp_destination, ['Name', 'Email'], ',', '"', ''); // Ecriture de l'en-tête
$fp_source = fopen($file_source, 'r');
$header = fgetcsv($fp_source, 0, ',', '"', ''); // 1re ligne, c'est l'en-tête
$headerNames = array('Name', 'Last Name', 'FIRST_NAME', 'LAST_NAME', 'First Name', 'FirstName', 'LastName', 'Country', 'Company', 'COMPANY_NAME', 'COMPANY NAME', 'Business Name', 'CompanyName', 'Company Name', 'Company_Name');
$headerEmails = ['Email-Address', 'Address Email', 'Email Address', 'Email_Address', 'EMAIL', 'Email', 'EmailAddress', 'EMAIL_ADDRESS', 'ADDRESS-EMAIL'];
// Paramétrage des colonnes à récpuérer selon le fichier CSV source
foreach($header as $keyHeader => $valueHeader) {
if (in_array($valueHeader, $headerNames)) {
$nameIndex = $keyHeader;
} else if (in_array($valueHeader, $headerEmails)) {
$emailIndex = $keyHeader;
}
}
while ($entry = fgetcsv($fp_source, 0, ',', '"', '')) {
$name = $entry[$nameIndex];
$email = $entry[$emailIndex];
fputcsv($fp_destination, [$name, $email], ',', '"', '');
}
fclose($fp_source);
fclose($fp_destination);
?> |
Partager