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

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

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.