|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
Bonjour,
Voici un petit bout de code pour testé les domaines emails : Code :
merci pour votre aide Cdlt |
||
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
En utilisant la fonction file() qui lit le fichier et renvoie le résultat dans un tableau. Remplacer Code :
Code :
$filearray = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#3 | ||
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
Code :
__________________
http://blog.stealth35.com/ |
||
|
|
01
|
|
|
#4 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
Bonjour,
merci j'avais oublier ses paramètres, cependant j'ai oublier de précisé que c'est à l'écriture que ca me pause problème ... Code :
file_put_contents($file, preg_replace("#((.*)@$matches[1])#i", "", file_get_contents($file))); |
|
00
|
|
|
#5 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
faut créer un nouveau fichier a chaque fois
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
re,
ah je m'en douter... Merci |
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
L'idéal étant d'accéder une seule fois au fichier en écriture, on pourrait faire..
Code :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
merci Eric2a, je test ton code ...
|
|
00
|
|
|
#9 | ||
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
Bon finalement ça ne va pas il me supprime des emails dont le domaine est valide ex: hotmail.fr, yahoo.fr, etc ...
Code :
|
||
|
00
|
|
|
#10 | ||||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
C'est
Code :
$filearray = file($file, FILE_SKIP_EMPTY_LINES); Code :
Code :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||||
|
|
00
|
|
|
#11 | ||
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
Re,
Au premier parse du fichier il me retire pas mal email erronée MAIS si je rafraichi/ re parse le fichier alors il me reste plus aucune email (fichier vide) ... Je me demande si il faudrait pas écrire dans un nouveau fichier plutôt ... édit: le code modifié selon tes conseils ... Code :
|
||
|
00
|
|
|
#12 |
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Je ne vois pas pourquoi
La fonction array_filter() est-elle vraiment utile ici ? Et si on remplace Code :
$filearray=array_values(array_filter($filearray)); // réindexe Code :
$filearray=array_values($filearray); // réindexe Sinon, comme l'a dit Stealth35, Code :
faut créer un nouveau fichier a chaque fois
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
re,
La fonction filter permet avec array_values de supprimer les items vide de l'array et de le ré indexé ... |
|
00
|
|
|
#14 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
Oups, je viens de remarquer que je fait x test sur les mêmes domaines email car quand je fait ceci :
C'est sur l'email entier que je cherche les doublons et nom sur le domaine de l'email... |
|
00
|
|
|
#15 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Re,
La fonction array_filter n'est pas nécessaire car le tableau renvoyé par la fonction file() ne contient aucune ligne vide (graçe à l'option FILE_SKIP_EMPTY_LINES). Le code ci-dessous ne teste qu'une fois un même domaine reconnu comme étant valide. Code :
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#16 | |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
MERCI Eric2a pour ton aide ...
J'ai donc tester ton code mais il me trouve aucun domaine email non valide ... Sinon : Citation:
Edit: Je n'ai pas saisi la comparaison ici: Code :
$good=(in_array($domaine,$domainearray)); |
|
|
00
|
|
|
#17 | ||||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Citation:
J'ai testé sur un fichier contenant de fausses adresse email (domaines inexistants et chaines ne correspondant pas à des adresses email). Le code a bien "rejeté" ces lignes. Citation:
Code :
Code :
$good=(in_array($domaine,$domainearray));
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||||
|
|
00
|
|
|
#18 |
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
Bonjour Eric2a,
j'ai beau testé ton code cela ne marche pas... Je t'envoie en MP un échantillon de 40 000 email (don le préfixe email a été modifié/confidentialité) pour que tu puisse constaté le problème du traitement avec un fichier volumineux ... |
|
00
|
|
|
#19 |
![]() ![]() Inscription : septembre 2010 Messages : 7 101 ![]() |
faut bosser en stream avec des fichier temporaire sinon ca va prendre beaucoup de memoire
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#20 | ||
|
Membre régulier
![]() Inscription : avril 2010 Messages : 114 ![]() |
Bonjour,
J'ai donc réussi codé quelques choses de fonctionnelle ... Code :
Ce n'est pas tres propre mais cela marche pour l'instant ... @stealth35 Je vois pas comment tu veut faire ... |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com