Importer 400 adresses email dans table php
antho007
Messages postés
5
Statut
Membre
-
azerty0 Messages postés 1322 Statut Membre -
azerty0 Messages postés 1322 Statut Membre -
Bonjour,
je cherche à importer 400 adresses email contenue dans un fichier texte et séparé par une virgule dans une base de donnée d'adresse email pour un envoie de mailing list.
Y a t il une méthode pour le faire automatiquement
ma table s'appelle newsletter, elle comprend un champs "id" auto incrémenté et un champs "email" tout simplement, merci de m'aider car c'est urgent...
Help
SVP aidez moi
je cherche à importer 400 adresses email contenue dans un fichier texte et séparé par une virgule dans une base de donnée d'adresse email pour un envoie de mailing list.
Y a t il une méthode pour le faire automatiquement
ma table s'appelle newsletter, elle comprend un champs "id" auto incrémenté et un champs "email" tout simplement, merci de m'aider car c'est urgent...
Help
SVP aidez moi
A voir également:
- Importer 400 adresses email dans table php
- Table ascii - Guide
- Table des matières word - Guide
- Comment creer un compte email - Guide
- Importer favoris chrome - Guide
- Facebook piraté et adresse email changé - Guide
2 réponses
Non, tu n'as pas de méthodes pour le faire authomatiquement,
tu vas devoir faire un script qui :
- recuperation du contenu du fichier
- explode sur le contenu avec la virgule en guise de séparateur
ensuite, tu parcours ton tableau issu du explode, et tu insers dans la base de données avec un foreach !
puis, tu peux aussi finir ton script de sorte a ce qu'il envoit les mails !
tu vas devoir faire un script qui :
- recuperation du contenu du fichier
- explode sur le contenu avec la virgule en guise de séparateur
ensuite, tu parcours ton tableau issu du explode, et tu insers dans la base de données avec un foreach !
puis, tu peux aussi finir ton script de sorte a ce qu'il envoit les mails !
$fichier = "chemin du fichier .txt"; // chemin de ton fichier
if (file_exists($fichier))
{
$tableau = file($fichier);
while(list($cle,$val) = each($tableau))
{
$val = str_replace("\n", "", $val); // on remplace le retour à la ligne par rien
$mails = explode(";", $val); // $mails = tableau qui contient tous les @ mail</gras>
foreach ($mails as $mail)
{
if($mail == "")
{
}
else
{
$insertion = mysql_query("INSERT INTO newsletter VALUES ('', '$mail')") or die(mysql_error());
}
}
}
}
// les deux lignes qui viennet après : à utiliser dans le cas où tas un espace à la fin du text dans le fichier.txt
$id =mysql_insert_id(); // récupérer le dernier id insérer dans la base
// supprimer l'enregistrement qui correspond qu dernier id car elle est vide
$supression = mysql_query("DELETE FROM newslettre WHERE id = $id") or die(mysql_error());
après tu peux améliorer , par rapport a tes besoins
A+
Ensuite, je suggère d'améliorer nettement la condition if($mail == "") par un regexp qui teste si l'adresse en est bien une... avant de l'insérer dans la base. Des scripts regexp pour ce genre de choses existent déjà...
J'ai pas compris pour le dernier enregistrement vide sinon...
il peut être améliorer oui tas raison, mais en fait je le fais rapidement hier car antho007 nous a dis que c'est urgent :)
pour le dernier enregistrement, en fait quand j'ai tester le script, il ajout toujours à la fin un enregistrement vide. c'est pourquoi j'ai mis la suppression.
mais attention, normalement il y avait un espace à la fin du text dans mon fichier.txt donc execute le code sans les deux dernier lignes
$id =mysql_insert_id(); // récupérer le dernier id insérer dans la base
// supprimer l'enregistrement qui correspond qu dernier id car elle est vide
$supression = mysql_query("DELETE FROM newslettre WHERE id = $id") or die(mysql_error());
après ca dépend du fichier.txt s'il y a un espace à la fin ou met la suppression sinon on ne le mets pas
Bonne journée
A+
Merci beaucoup en tout cas
le script est conçu pour un fichier texte avec les emails séparés par un point virgule ; et saut de ligne
mais vérifie à la fin du fichier text s'il y a un espace ou pas :
s'il y a un espace supprime le à la main et tu exécute le script