Import txt to MySQL
Résolu
Sinistrus
Messages postés
1010
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour à tous et meilleurs voeux !
Voilà, j'ai un bout de code qui ne fonctionne pas :\
J'essaie d'importer via un input file une liste d'adresse email dans ma table, mais je n'ai qu'une ligne vide qui s'insère.
Pouvez-vous m'aider svp ?
Voici mon fichier mes_mail.txt :
Voici ma table :
Voici mon code PHP
Voilà, j'ai un bout de code qui ne fonctionne pas :\
J'essaie d'importer via un input file une liste d'adresse email dans ma table, mais je n'ai qu'une ligne vide qui s'insère.
Pouvez-vous m'aider svp ?
Voici mon fichier mes_mail.txt :
test1@test.com
test2@test.com
test3@test.com
Voici ma table :
CREATE TABLE IF NOT EXISTS `tb_newsletter_adresses` ( `NumId` int(11) NOT NULL AUTO_INCREMENT, `Newsletter` varchar(255) NOT NULL, PRIMARY KEY (`NumId`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
Voici mon code PHP
$myFile = $_FILES['FileMail']['name']; if(!($myFile)) {print("Impossible d'ouvrir le fichier $file_name ");} for ($index=0; $index < count($myFile); $index++) { $token_table[1]=strTok(";"); $Newsletter = addslashes(trim($token_table[1])); echo stripslashes($Newsletter)."<br/>"; $result = mysql_query("INSERT INTO tb_newsletter_adresses (Newsletter) VALUES ('$Newsletter')"); if ($result == 1) {echo stripslashes($Newsletter)."inséré <br/>";} else {echo "error inserting stripslashes($Newsletter) <br/>";} } echo "***** CONTENU DE LA TABLE *****<br/>"; $result = mysql_query("select * from tb_newsletter_adresses "); while($row = mysql_fetch_array($result)) {echo stripslashes($row['Newsletter'])."<br/>";}
A voir également:
- Import txt to MySQL
- Qwerty to azerty - Guide
- Mysql community server - Télécharger - Bases de données
- Video to video - Télécharger - Conversion & Codecs
- Majuscule to minuscule - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
3 réponses
Bonjour,
Le souci.. c'est que là .. tu ne lis pas le contenu du fichier....
Il te faut utiliser les instructions :
Le souci.. c'est que là .. tu ne lis pas le contenu du fichier....
Il te faut utiliser les instructions :
$myFile = isset( $_FILES['FileMail']['name'])?$_FILES['FileMail']['name']:NULL; if(!($myFile)){ print("Impossible d'ouvrir le fichier $file_name "); }else{ //ouverture du fichier $fp = fopen ($myFile, "r"); // Boucle sur les lignes du fichier if ($fp){ /*Tant que l'on est pas à la fin du fichier*/ while (!feof($$fp)) { /*On lit la ligne courante*/ $buffer = fgets($fp); /*Traitement */ echo $buffer; // par exemple affichage // c'est ici que tu peux mettre l'INSERT en BDD } /*On ferme le fichier*/ fclose($fp); } ?> }
Merci Jordane,
Je rencontre un problème cependant :
Warning: fopen(mes_email.txt): failed to open stream: No such file or directory in /home/sivop/www/version_3/admin/gestions/newsletter/index.php on line 89
Je rencontre un problème cependant :
Warning: fopen(mes_email.txt): failed to open stream: No such file or directory in /home/sivop/www/version_3/admin/gestions/newsletter/index.php on line 89
$fp = fopen ($myFile, "r");
$myFile = isset( $_FILES['FileMail']['name'])?$_FILES['FileMail']['name']:NULL; if(!($myFile)){ print("Impossible d'ouvrir le fichier $FileMail "); }else{ $fp = fopen ($myFile, "r"); if ($fp){ while (!feof($$fp)) { $buffer = fgets($fp); echo $buffer; $query = "INSERT INTO tb_newsletter_adresses VALUES('$Newsletter')"; $result= MYSQL_QUERY($query); } fclose($fp); } }
Tu as fait l'upload du fichier sur ton serveur avant d'essayer de le lire ?
testes ceci :
testes ceci :
<?php if(isset($_FILES['userfile']['name'])){ // emplacement où sera stocké le fichier sur le serveur : // le dossier doit disposer des droits suffisant pour que le script puisse y coller un fichier $uploaddir = './'; $myFile= $uploaddir . basename($_FILES['userfile']['name']); // déplacement du fichier sur le serveur if (move_uploaded_file($_FILES['userfile']['tmp_name'], $myFile)) { // upload ok $fp = fopen ($myFile, "r"); if ($fp){ while (!feof($fp)) { $Newsletter = fgets($fp); echo $Newsletter; $query = "INSERT INTO tb_newsletter_adresses VALUES('$Newsletter')"; $result= MYSQL_QUERY($query) or die("<pre>Erreur".$query ."</pre>"); } // fin du While //fermeture du fichier fclose($fp); } // Fin du if($fp) } else { // upload KO echo "<pre> Erreur. Le fichier n'a pas été téléchargé ! </pre>"; } } ?>
Merci beaucoup jordane,
J'ai récupéré un bout de ton code et ça fonctionne maintenant :
Merci beaucoup !
J'ai récupéré un bout de ton code et ça fonctionne maintenant :
<?php if(isset($_POST['EnvoisMail'])){ //###################################### $myFile = isset( $_FILES['FileMail']['tmp_name'])?$_FILES['FileMail']['tmp_name']:NULL; if(!($myFile)) {print("Impossible d'ouvrir le fichier ".$myFile);} //################################################### ERREUR DE BOUCLE $fp = fopen($myFile, 'r') or die ("Unable to open the file"); if($fp){ while (!feof($fp)) { $Newsletter = fgets($fp); //################################################### $result = mysql_query("INSERT INTO tb_newsletter_adresses (Newsletter) VALUES ('".$Newsletter."')"); //################################################### AFFICHE LES ELEMENTS AJOUTES } fclose($fp); } if ($result == 1) {echo "<tr><td height='40' align='left' valign='middle'><div class='Message_Info'>La liste des abonnés a été ajoutée avec succès.</div></td></tr>";} else {echo "<tr><td height='40' align='left' valign='middle'><div class='Error_Info'>Une erreur est survenue lors de l'ajout de ".$Newsletter."</div></td></tr>";} // FIN DE BOUCLE //################################################### } ?>
Merci beaucoup !
Désolé, j'avais carrément oublié !
Dis jordane, tu peux jeter un oeil sur mon nouveau sujet stp ?
https://forums.commentcamarche.net/forum/affich-31342342-envois-mail-en-html-petit-beug
Dis jordane, tu peux jeter un oeil sur mon nouveau sujet stp ?
https://forums.commentcamarche.net/forum/affich-31342342-envois-mail-en-html-petit-beug