Bonjour,
J'ai un fichier, 1er.txt, je l'ouvre et je mets le contenu dans un array et je fais les traitements...
Ensuite, je mets le contenu rectifié dans un autre fichier, 2efichier.txt.
Jusqu'au ici, il n'y a pas de problème
Voici le contenu du premier fichier, 1er.txt :
"toto@toto.com","toto","Dupont"
"titi@toto.com","titi","Mupont"
"toto@toto.com","toto","Dupont"
"tata@toto.com","tata","tatant"
"otot@toto.com","otot","Chose"
"tata@toto.com","tata","tatant"
Voici le contenu du 2e fichier, 2efichier.txt :
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
| if (($handle = fopen($mon1erficher, "r")) !== FALSE) { //Ouverture du fichier en lecture seule.
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$monArrayTraiement = array(
'e_mail' => $data[0],
'nomFamille' => $data[1],
'prenom' => $data[2]
);
// traitement
$e_mail = $monArrayTraiement['e_mail'];
$e_mail = str_replace(' ', '', $e_mail); // vider les espace dans les string
// mon funciton deleteVideDebutFin : suppresion des espaces en début et fin de chaîne
//array_walk : Execution d'une fonction sur chacun des éléments d'un tableau
array_walk($monArrayTraiement, 'deleteVideDebutFin');
//Si email n'est pas bon enleve cette engretistrement/element/ligne
if(!formatVerificationEmail($e_mail)){
unset($monArrayTraiement['e_mail']);
unset($monArrayTraiement['nomFamille']);
unset($monArrayTraiement['prenom']);
}
// DEBUT elimination des lignes/emails identitique en gardant 1 seul ----------------------------------------------------------------------------------
//que faire ?
// FIN elimination des lignes/emails identitique en gardant 1 seul ------------------------------------------------------------------------------------
// Création d'un fichier qui ne contient que des emails
//Debut
$creation2efichier = fopen($mon2efichier, "a+");
if(empty($monArrayTraiement)) continue; // S'il y a des éléments effacés, sauter la vide
foreach ($monArrayTraiement as $cle=>$valeur){
$stringParEmail= $monArrayTraiement['e_mail'];
}
fputs($creation2efichier, $stringParEmail."\n"); // écrire le string ensuite aller à la ligne
fclose($ouvrir_FD);
}
} |
Voici ma question :
Comment peux-je éliminer les doublons de lignes avant la création du fichier ?
Autrement dit, avant de mettre le contenu traité dans 2e fichier, j'aimerais bien supprimer les lignes qui sont double ou triple pour avoir le contenu suivant dans mon 2e fichier :
toto@toto.com
titi@toto.com
tata@toto.com
otot@toto.com
merci
Partager