Hello !
Je souhaite supprimer les doublons d'adresse mail d'un fichier Csv importé via un input-type file,
Je peut récupérer le fichier csv et le lire ligne par ligne
Ce que je voudrais c est repérer les doublons pour ensuite les supprimer de mon fichier, le sauvegarder et le retourner a l'utilisateur une fois traité
Mais voila je bloque je n'ai rien trouver sur les forum qui correspond vraiment a mon soucie, j ai fait une requête EGAL mais ça ne fonctionne pas ..
Si quelqu'un a déjà était dans cette situation et souhaite me prêter main forte ça serais génial !
Merci
Je souhaite supprimer les doublons d'adresse mail d'un fichier Csv importé via un input-type file,
Je peut récupérer le fichier csv et le lire ligne par ligne
Ce que je voudrais c est repérer les doublons pour ensuite les supprimer de mon fichier, le sauvegarder et le retourner a l'utilisateur une fois traité
Mais voila je bloque je n'ai rien trouver sur les forum qui correspond vraiment a mon soucie, j ai fait une requête EGAL mais ça ne fonctionne pas ..
Si quelqu'un a déjà était dans cette situation et souhaite me prêter main forte ça serais génial !
Merci
<form name="upload" method="post" action="index.php?nav=Traitement.php" enctype="multipart/form-data" class="form-desabo">
<div class="row desabo-row">
<div class="col-md-12 col-md-offset-3 center desabo-container">
<label for="sepateur">Choisissez le separateur ( , / ; - ..)</label><br>
<input type="text" name="separateur" id="separateur"><br>
<label for="sepateur">Choisissez le delimiteur ( " [ ] ; - ..)</label><br>
<input type="text" name="delimiteur" id="delimiteur"><br>
<label for="ignore">Nombre de ligne à ignorer</label>
<select name="ignore" id="ignore">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
</select><br>
<label for="import">N° champ a importer</label>
<select name="import" id="import">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
</select>
<h1 class="imgupload"><i class="fa fa-file-image-o"></i></h1>
<h1 class="imgupload ok"><i class="fa fa-check"></i></h1>
<h1 class="imgupload stop"><i class="fa fa-times"></i></h1>
<p id="namefile">Accepte les .txt /.csv </p>
<button type="button" id="btnup" class="btn btn-primary btn-lg">Posez-le ici!</button>
<input type="file" value="" name="fileup" id="fileup">
<input type="submit" value="Submit!" class="btn btn-primary" id="submitbtn">
<button type="button" class="btn btn-default" disabled="disabled" id="fakebtn">Envoyer <i class="fa fa-minus-circle"></i></button>
</div>
</div>
</form>
</div>
</div>
<?php
// Vérifie si la chaine ressemble à un email
//if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// echo 'Cet email est correct.';
//} else {
// echo 'Cet email a un format non adapté.';
//}
$dossier = 'upload/'; //* Je crée un dossier pour herberger mes fichier temporaire
$fichier = basename($_FILES['fileup']['name']);
$taille_maxi = 200000;
$taille = filesize($_FILES['fileup']['tmp_name']);
$extensions = array('.csv', '.txt'); //*Je crée mes extentions
$extension = strrchr($_FILES['fileup']['name'], '.');
$import=$_POST['import'];
$ignore=($_POST['ignore']);
$delimiter = $_POST['delimiteur'];
$separateur = $_POST['separateur'];
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = '';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['fileup']['tmp_name'], $dossier . $fichier)){
// Je lis mon fichier csv
$row = 1;
if (($handle = fopen("upload/".$fichier, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, $separateur, $delimiter)) !== FALSE) {
if ($row > $ignore){
$num = count($data);
if ($data[$import] == filter_var($data[$import], FILTER_VALIDATE_EMAIL)){ //Je filtre les mail si le mail est ok alors je lance la requete
$requette = $db->prepare("SELECT * FROM `hardbounce_projet` WHERE `hardbounce_email` = '".$data[$import]."' ");
$requette->execute();
$resultat = $requette->fetchAll();
echo '<pre>';
print_r($resultat);
echo '</pre>';
} else {
echo "";
}
}
echo "";
$row++;
for ($c=0; $c < $num; $c++) {
// echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
echo '<div class="container-fluid">'
. '<div class="row">'
. '<div class="col-lg-12 sucess_envoi">'
. '<span class="">Upload effectué avec succès!</span><span class="btn-liste"><a href="index.php?nav=ListeHardbounce.php"> Voir la liste </a></span>'
. '</div>'
. '</div>'
.'</div>';
}else{
echo '<span class="echec_envoi">Echec de l\'upload !</span>';
}
}
else
{
echo $erreur;
}
?>