• 13-06-2010, 00:34:19
    #1
    Arkadaşlar elimde mail.txt dosyası var ve içinde 5000 mail var

    mail.php dosyasında mail.txt yi göstere biliyorum ancak 2 veya daha fazla tekrar eden maillerin mail.php de bir kez yazmasını istiyorum

    Aynı adama 5 mail gidiyor. listemi düzenlemem lazım

    mail.txt içindeki mailleri php ye çektiğimde birden fazla olan mailleri mail.php de nasıl 1 kez gösterebilirim

    Yardımlarınız için şimdiden teşekkür ederim
  • 13-06-2010, 00:43:02
    #2
    Mail.php'ye adresleri array olarak çekiyorsanız array_unique( (array) $eposta_adresleri); fonksiyonunu kullanabilirsiniz. Aynı olanlardan sadece 1 tanesini alır.
  • 13-06-2010, 14:42:36
    #3
    ben readla çekmiştim .. ve alt alta Olmamıştı...
    array_unique( (array) $eposta_adresleri); i nasıl kullanacağımı anlamadım.
  • 13-06-2010, 14:51:56
    #4
    Eğer her eposta tek satıra yazılmışsa işini görür. Aceleyle yazdım, denedim çalıştı ama sorun çıkabilir belki.

    <?php
    $dosya="eposta.txt";
    $size=filesize($dosya);
    $ac=fopen($dosya,"r");
    
    $bol=explode("\n",$oku=fread($ac,$size));
    
    print_r ($uniq=array_unique($bol));
    ?>
  • 13-06-2010, 14:53:56
    #5
    hemen deniyorum ama .. maillerim txt içerisinde alt alta
  • 13-06-2010, 14:56:45
    #6
    evet dosyayı yazdırdım ama hem alt alta olmadı mailler hemde maillerin başına [5583] =>mail@dd.com [5584] =>mail@gg.com [5583] => sayı ve çizgiler koydu

    eagle_one adlı üyeden alıntı: mesajı görüntüle
    Eğer her eposta tek satıra yazılmışsa işini görür. Aceleyle yazdım, denedim çalıştı ama sorun çıkabilir belki.

    <?php
    $dosya="eposta.txt";
    $size=filesize($dosya);
    $ac=fopen($dosya,"r");
    
    $bol=explode("\n",$oku=fread($ac,$size));
    
    print_r ($uniq=array_unique($bol));
    ?>
  • 13-06-2010, 14:59:42
    #7
    print_r() fonksiyonu dizileri ekrana basar ve bu kodu kullanma amacım test amaçlıydı. Kodu kendine göre düzenlemen gerek Yapmak istediğin alt alta yazdırmak sanırım. Anlamamışım sorunu Kodu şöyle düzenlemen yeterli

       <?php
    $dosya="eposta.txt";
    $size=filesize($dosya);
    $ac=fopen($dosya,"r");
    
    $bol=explode("\n",fread($ac,$size));
    
    $uniq=array_unique($bol);
    foreach($uniq as $v){
    
    print "$v<br />";
    }
    ?>
  • 13-06-2010, 15:07:52
    #8
    Çok teşekkür ederim hallolmuştur.. ellerinize sağlık
  • 13-06-2010, 15:10:28
    #9
    Rica ederim