Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie plików txt z adresami email
Hagen
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (0%)
-----


Witam wszystkich. Posiadam parę list mailingowych w różnych plikach txt. Chciałbym połączyć te listy mailingowe w jedną dużą listę mailingową. Z tym że chciałbym również uniknąć duplikowania adresów email. Czy dało by się to zrobić za pomocą php ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Może za pomocą porównania elementów tablic?
Go to the top of the page
+Quote Post
Hagen
post
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (0%)
-----


Coś takiego ?

  1. <?php
  2. $aTab1 = file('file1.txt');
  3. $aTab2 = file('file2.txt');
  4.  
  5. $aResult = array_intersect($aTab1, $aTab2);
  6.  
  7. ?>
Go to the top of the page
+Quote Post
YourFrog
post
Post #4





Grupa: Zarejestrowani
Postów: 124
Pomógł: 22
Dołączył: 10.01.2014

Ostrzeżenie: (0%)
-----


Zakładając że posiadasz adresy e-mail rozdzielone znakiem nowego wiersza możesz użyć czegoś takiego.

  1. <?php
  2.  
  3. $files = array('list_1.txt', 'list_2.txt'); //Nazwy plików z listami
  4. $emails = array();
  5.  
  6. foreach($files as $file)
  7. {
  8. $data = file_get_contents($file);
  9.  
  10. $temp = explode(PHP_EOL, $data);
  11.  
  12. array_walk($temp, function(&$a){ $a = trim($a); });
  13.  
  14. $emails = array_merge($emails, $temp);
  15. }
  16.  
  17. $emails = array_unique($emails);
  18.  
  19. file_put_contents('out.txt', implode(PHP_EOL, $emails));


W katalogu ze skryptem powinien pojawić się plik out.txt zawierający adresy e-mail które się nie powtarzają.

Ten post edytował YourFrog 11.03.2014, 11:38:20
Go to the top of the page
+Quote Post
KR2615
post
Post #5





Grupa: Zarejestrowani
Postów: 311
Pomógł: 13
Dołączył: 7.05.2007

Ostrzeżenie: (0%)
-----


Albo baza MySQL, index UNIQUE na pole email i INSERTy po kolei z każdego pliku.
Go to the top of the page
+Quote Post
emillo91
post
Post #6





Grupa: Zarejestrowani
Postów: 129
Pomógł: 13
Dołączył: 29.03.2012

Ostrzeżenie: (0%)
-----


Wyświetlenie wszystkich adresów z kilku list raczej nie powinno byc problemem. Co innego jeżeli chcesz je posortować według jakichś kryteriów . Wszystko zależy od tego do czego będzie tobie to potrzebne bo jeżeli tylko do wyświetlenia adresów email to odpowiedź już w tym temacie jest (moim zdaniem oczywiście (IMG:style_emoticons/default/wink.gif) ) .
Go to the top of the page
+Quote Post
Hagen
post
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 14.01.2014

Ostrzeżenie: (0%)
-----


Dzięki YourFrog (IMG:style_emoticons/default/wink.gif) wsio ładnie działa (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 12:07