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
[email protected]
[email protected]
[email protected]
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 [email protected] n'est pas valide, recommencez !
L'adresse [email protected] 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
[email protected]
[email protected]
[email protected]
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 [email protected] n'est pas valide, recommencez !
L'adresse [email protected] 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
Configuration: Windows Vista Firefox 3.0.5
A voir également:
- PHP - inserer des mails d'un fichier texte à
- Comment ouvrir un fichier epub ? - Guide
- Fichier bin - Guide
- Insérer un espace insécable dans word - 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.