Расставить точки в гмейлах

Статус
В этой теме нельзя размещать новые ответы.
MONtrade подскажи, а как ограничить количество emails в массиве.
Вывожу
PHP:
$emails = array_rand($emails);
echo $emails;
Просто долго думает и выдает такое
Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 32 bytes) in func_dotgmail.php on line 21

говнокод конечно, но если я правильно понял, то можно так попробовать:)

PHP:
<?php

$array = array(); 

$max_count = 1000;
$array[] = 'lopuh@gmail.com';
$array[] = 'odoinodin@gmail.com'; 
$array[] = 'mymail@gmail.com';
$all_emails = array();


foreach ($array as $email) { 
    $emails = generateDot($email); 
    $all_emails = array_merge($all_emails,$emails);
	if(count($all_emails) >= $max_count) break;
} 
print_r($all_emails);

function generateDot($email) {
    $emails = array(); 
    list($name,$serv)=explode("@",$email);
    $sdvig=strlen($name)-1;
    $dec= ((1<<$sdvig)-1);
    for($q=1;$q<=$dec;$q++){
        $names=$name;
        $bin=sprintf("%".$sdvig."d",decbin($q));
        $lenbin=$sdvig-1;
        for($w=$lenbin;$w>=0;$w--){
            if($bin[$w]==1)
                $names=substr($names, 0, $w+1).'.'.substr($names, $w+1);
        }
        $emails[]=$names."@".$serv;
    }
    return $emails; 
} 
?>

где $max_count - не больше этого кол-ва
 
...Просто долго думает и выдает такое
Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 32 bytes) in func_dotgmail.php on line 21

Ха, недавно тоже страдал схожей фигней, только не точки раставлял, а все возможные перестановки из группы слов делал.

Вобщем нашол только покачто одно верное лечение:
Fatal error: Allowed memory size of 536870912 bytes exhausted

Это запись каждого нового результата в файл, так сказать очистка буфера.
 
плюс еще можно юзать, тогда количество мыл ограничено только вашим аппетитом
например email+nevazhnochto@gmail.com , гмыло игнорирует все что после плюса
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху