PHP - inserer des mails d'un fichier texte à
kiss
-
muska92 Messages postés 317 Statut Membre -
muska92 Messages postés 317 Statut Membre -
Bonjour,
j'ai un script qui insert parfaitement mes mails dans ma base de donnée a laide d'un fichier texte.
mais lorsque je décide de vérifier la validation des mails avant de les insérer il ne prend en compte que le dernier mail.
bref mon fichier texte:mail.txt
x1@hotmail.com
x2@hotmail.com
x3@hotmail.com
mon script:
<?php
include('connect.php');
if (!$fp = fopen("mail.txt","r"))//mail.txt est un fichier text qui contient l'ensemble des enregistrement
{
echo "Echec de l'ouverture du fichier";
exit;
}
else
{
while(!feof($fp))
{
// On récupère une ligne
$Ligne = fgets($fp,255);
$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
$regex = '/^' . $atom . '+' . // Une ou plusieurs fois les caractères autorisés avant l'arobase
'(\.' . $atom . '+)*' . // Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
'@' . // Suivis d'un arobase
'(' . $domain . '{1,63}\.)+' . // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
$domain . '{2,63}$/i'; // Suivi de 2 à 63 caractères autorisés pour le nom de domaine
if (preg_match($regex, $Ligne))
{
$sql="insert into lettre (email) values ('$Ligne')";
$res=mysql_query($sql) or die( "Echec de selection" );
$tot=$tot + mysql_affected_rows() or die( "Echec de selection2" );
}
else
{
echo 'L\'adresse ' . $Ligne . ' n\'est pas valide, recommencez ! <br />';
}
// On affiche la ligne
//echo $Ligne;
}
foreach($_FILES as $fichier)
// echo $fichier['name'] . "<br/>";
echo " $tot mails du fichier ".$fichier['name'] ." ont été inserés dans la base";
fclose($fp); // On ferme le fichier
}
?>
et en fin le message qu'il me ramène:
L'adresse x1@hotmail.com n'est pas valide, recommencez !
L'adresse x2@hotmail.com n'est pas valide, recommencez !
1 mails du fichier mail.txt ont été insérés dans la base
merci de bien vouloir m'aider
j'ai un script qui insert parfaitement mes mails dans ma base de donnée a laide d'un fichier texte.
mais lorsque je décide de vérifier la validation des mails avant de les insérer il ne prend en compte que le dernier mail.
bref mon fichier texte:mail.txt
x1@hotmail.com
x2@hotmail.com
x3@hotmail.com
mon script:
<?php
include('connect.php');
if (!$fp = fopen("mail.txt","r"))//mail.txt est un fichier text qui contient l'ensemble des enregistrement
{
echo "Echec de l'ouverture du fichier";
exit;
}
else
{
while(!feof($fp))
{
// On récupère une ligne
$Ligne = fgets($fp,255);
$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
$regex = '/^' . $atom . '+' . // Une ou plusieurs fois les caractères autorisés avant l'arobase
'(\.' . $atom . '+)*' . // Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
'@' . // Suivis d'un arobase
'(' . $domain . '{1,63}\.)+' . // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
$domain . '{2,63}$/i'; // Suivi de 2 à 63 caractères autorisés pour le nom de domaine
if (preg_match($regex, $Ligne))
{
$sql="insert into lettre (email) values ('$Ligne')";
$res=mysql_query($sql) or die( "Echec de selection" );
$tot=$tot + mysql_affected_rows() or die( "Echec de selection2" );
}
else
{
echo 'L\'adresse ' . $Ligne . ' n\'est pas valide, recommencez ! <br />';
}
// On affiche la ligne
//echo $Ligne;
}
foreach($_FILES as $fichier)
// echo $fichier['name'] . "<br/>";
echo " $tot mails du fichier ".$fichier['name'] ." ont été inserés dans la base";
fclose($fp); // On ferme le fichier
}
?>
et en fin le message qu'il me ramène:
L'adresse x1@hotmail.com n'est pas valide, recommencez !
L'adresse x2@hotmail.com n'est pas valide, recommencez !
1 mails du fichier mail.txt ont été insérés dans la base
merci de bien vouloir m'aider
A voir également:
- PHP - inserer des mails d'un fichier texte à
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
j'ai même dupliquer un même mail plus de trois fois et il a reconnu que le dernier mail comme un mail correcte.