rechercher des mots dans un fichiers txt

rechercher des mots dans un fichiers txt - PHP - Programmation

Marsh Posté le 08-05-2005 à 21:59:20    

Hello,
 
J'ai un anti-spam qui log tos les messages considérés comme spam dans un fchier texte.
Le log ressemble à "emailsender - emailrecipient - titre - raison de la mise en quarantaine"
 
Certains mails non-spam sont cependant classés comme tel.
J'aimerais bien codé en PHP un truc qui me permettrait de faire une première passe pour récupérer tous les emailrecipient différents du log.
Ensuite, par email recipient faire un liste des emails qui ont été considérés comme spam et les envoyés au récipient , just histoire de vérifier que il ne passe à côté de rien d'important.
 
Y a-t-il moyen de de faire une recherche dans un fichier texte, et si oui, avec quel commande?
 
meeurrrciii.

Reply

Marsh Posté le 08-05-2005 à 21:59:20   

Reply

Marsh Posté le 08-05-2005 à 22:10:34    

preg_match_all par exemple ? (après avoir lu le fichier via fopen et tout le toutim...)


---------------
Expert en expertises
Reply

Marsh Posté le 09-05-2005 à 02:40:45    

ok supposons que chaque ligne est de la forme:

Citation :

emailsender - emailrecipient - titre - raison de la mise en quarantaine


 

Code :
  1. $spams = explode("\n", file_get_contents('chemin/vers/ton/fichier.txt'));
  2. $sortedspam = array();
  3. for($i = 0; $i < count($spams); $i++) {
  4.     $spams[$i] = explode(' - ', $spams[$i]);
  5.     if(!isset($sortedspam[$spams[$i][1]])) {
  6.         $sortedspam[$spams[$i][1]] = array();
  7.     }
  8.     $sortedspam[$spams[$i][1]][] = &$spam[$i];
  9. }
  10. foreach($sortedspam as $recipient => $recspams) {
  11.     echo '>>> Liste des spams destinés à '.$recipient."\n";
  12.     for($i = 0; $i < count($recspams); $i++) {
  13.         echo 'From: '.$recspams[0].', subject: '.$recspams[2].', quarantine reason: '.$recspams[3]."\n";
  14.     }
  15. }


 
voilà :)


---------------
Member of the Yak Shaving Staff | Feedback | www.tsunanet.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed