|
|
|
Un fichier CSV n'est rien d'autre qu'un fichier texte. tous les champs de la base sont séparés par un séparateur (habituellement ; ).
Dans phpmyadmin, tu va dans ta table, tu fais inserer, tout en bas de la page : "Insérer des données provenant d'un fichier texte dans la tableInsérer des données provenant d'un fichier texte dans la table" Tu devrais te debrouiller apres. Moins le blanc est intelligent, plus le noir lui parait bête
|
// ****************************************************************** *
// ******Lire un csv et l'importer dans la base de donnée * // ******2 fichiers nécessaires : formulaire.php et ajouter.php * // *********l'un pour choisir le fichier csv et l'autre pour * // ***************enregistrer dans la bdd * **** le fichier csv doit etre du type ci dessous * *** link,email * *** www.mafonction.com,axel@tueslemeilleur.com * *** www.csvfacile.com,csv@insert.com * ///************************************************************ ********* //formulaire.php <form action="ajouter.php" method="post" enctype="multipart/form-data" name="form1"> <p><input type="file" name="file" /></p> <input type="submit" name="Submit" value="Submit"> </form> ________________________________________________ //ajouter.php //lire un csv et ajouter le couple email,url dans la base de donnee if (isset($_FILES['file'])) { $file = $_FILES['file']['tmp_name']; $handle = fopen($file,'r'); $row = 1; $handle = fopen("$file", "r"); while (($data = fgetcsv($handle, 4096, ",")) !== FALSE) { $num = count($data); //echo "<p> $num fields in line $row: <br /></p>\n"; $row++; for ($c=0; $c < $num; $c++) { //je met les donnees en miniscule et detecte si l'email est dans la colonne 0 ou 1 //meme chose pour l'url //je les transformes en miniscule $data[1]=strtolower($data[1]); $data[0]=strtolower($data[0]); //je controle l'entete du csv if ($data[1]=='emails' && $data[0] == 'links' ) $mode=1 ; if ($data[1]=='email' && $data[0] == 'link' ) $mode=1 ; if ($data[1]=='email' && $data[0] == 'links' ) $mode=1 ; if ($data[1]=='emails' && $data[0] == 'link' ) $mode=1 ; ////meme chose pour le mode 2 il faut changer $data[0] par $data[1] ///c'est à dire si l'on souhaite avoir email,link, il faut recopier le ///meme code et changer tous les $data[0] par $data[1] et $data[1] par $data[0] } if ($mode==1) { //je controle l'email $avant_arobase = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; $nomdudomaine = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; $caract_allow_before_arobase = '/^' . $atom . '+' . '(\.' . $avant_arobase . '+)*' . '@' . '(' . $nomdudomaine . '{1,63}\.)+' . $domain . '{2,63}$/i'; // test de l'adresse e-mail if (preg_match($caract_allow_before_arobase, $data[1])) { } else { $data[1] = NULL ; } $data[1]=strtolower($data[1]); $data[0]=strtolower($data[0]); //je controle tous les donnees s'il s'agit bien d'un url et d'un email ///dans le cas contraire, ils seront filtrées $point = strpos($data[0],"."); if($point=='') { $data[0]=NULL; } $point = strpos($data[0],"@"); if($point=='') { $data[0]=$data[0]; } else { $data[0]=NULL; } if ( $data[1] != NULL && $data[0] != NULL ) { $numberdownload=$numberdownload+1; $marequete = "INSERT INTO matable SET monurl ='$data[0]' , monemail ='$data[1]' "; $resultat=mysql_query ($marequete) or die (mysql_error()); } } } //if ( $resultat ){ echo "<p> insertion with Succesfully </p> <p> //" ; //si des adresses ont ete enregistrer if ($numberdownload>0){ echo " <p>You have downloaded $numberdownload combinaisons </p>"; echo "<p>The list Id is : $rowIdListNext </p>"; } ///si aucune adresse a ete enregistrer if ($existadresse==0 && $numberdownload==0) { echo " <p> Error .. Your Csv file has a problem.</p>"; echo " <p> Please notice that your csv file has a header</p>"; } //si les adresses existe deja if ($existadresse>0 ) { echo " <p>$existadresse combinaisons already exist! </p>"; } //renvoie à la page qui a valider le formulaire...c'est à dire vers formulaire.php $departure=$_SERVER['HTTP_REFERER'];//recover the adress which the user come from echo "<meta HTTP-EQUIV=\"Refresh\" content=\"5;URL=$departure \"> " ; Configuration: Windows XP Firefox 2.0.0.6 Configuration: Windows XP Firefox 2.0.0.6 |
| 05/11 15h31 | Programme vbsur importation fichiers CSV | Programmation | 05/11 15h31 | 0 |
| 30/07 21h34 | import fichier .csv automatique sur access | Windows | 30/07 21h34 | 0 |
| 10/07 09h21 | [ACCESS] Pb Import Tables !! | Programmation | 10/07 10h25 | 2 |
| 13/06 09h50 | Importation fichier csv dans mysql (php) | Programmation | 30/08 00h29 | 1 |