Php extraire des mails d'un gros fichier local ou distant

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 509 fois - Téléchargée 16 fois

Contenu du snippet

On peut extraire tout les mails d'un fichier sans se prendre la tête pendant dans jours...
Qu'en pensez vous? Soyé pas trop méchant SVP
Ne n'utilisez PAS pour les SPAM SVP

Source / Exemple :


<?php
//Source réalisé par Mounir R'Quiba Le 24/08/2008 cosmoswarez@msn.com
$fichier="tonfichier.txt"; //Le fichier à extraire 
$contenu = fopen($fichier,"r") or die("Le fichier n'existe pas"); // On l'ouvre en lecture seule
$code_syntaxe = '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#'; // On charge la syntaxe valid de l'email
if($contenu){
   $compteur=0;   //Initialisation du compteur a Zero
   while (!feof($contenu)) { // Parcour le fichier jusqu'a la fin
     $buffer = fgets($contenu); // Chargement du buffer
     $valeur_a_remplacer = array(" ","\t",",",";","/","<",">"); // les valeurs a remplacer
     $buffer_format = str_replace($valeur_a_remplacer, ":", $buffer); // On remplace par :
     $segment = explode(":", $buffer_format); // On explose la chaine entre les :
     $nbre_segments = count($segment);   // compte le nombre de segments dans le buffer
     for ($i=0;$i<$nbre_segments;$i++){   // boucle de lecture
        if(preg_match($code_syntaxe,$segment[$i])){ // Si le segment Valid
          echo $segment[$i].",";  // On affiche le segments
          $compteur++;  // On incremente le compteur
        } 
     }
   }
   if($compteur=="0"){
     echo "<strong>[Aucune adresse mail dans \"".$fichier."\"]</strong><br>";
   }else{
     echo "<strong> [".$compteur." adresse(s) mail(s) localisé(s) dans \"".$fichier."\"]</strong><br>";
   }
   fclose($contenu); //fermeture du fichier
}else{ 
echo "Impossible d'accéder au fichier : ".$fichier;
}

?>

Conclusion :


Je l'ai faite en particulier pour les administrateurs,
Ne n'utilisez PAS pour les SPAM SVP

A voir également

Ajouter un commentaire

Commentaires

malalam
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
18
Hello,

j'ai supprimé les 2 derniers commentaires car ils contenaient des éléments déplacés.
Je ne vois pas, néanmoins, cosmo, en quoi une expression régulière ne fonctionnerait pas sur tous les systèmes ? Car oui, ton code peut bel et bien se résumer très largement. Il n'empêche : l'idée est bonne. La réalisation l'est moins. Mais l'idée reste bonne. 1/10 me semble sévère du coup...il y a bcp de codes ici dont même l'idée est mauvaise.
mtrix000
Messages postés
31
Date d'inscription
mardi 26 août 2008
Statut
Membre
Dernière intervention
1 novembre 2012

Merci Coucou!
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
wtf... tu notes ta propre source... allez.... jvais mettre 1/10 parce-que je te fais ca en une ligne, et que tu ne tiens compte d'aucun commentaire
Palleas_44
Messages postés
130
Date d'inscription
lundi 12 décembre 2005
Statut
Membre
Dernière intervention
19 avril 2009

De même pour la récupération du contenu de ton fichier : file_get_contents() quoi
cs_petifa
Messages postés
215
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
10 mars 2014

Classe ton code mais peut être simplifié comme l'a dit coucou,
par contre trop de commentaires tue les commentaires...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.