скрипт генерации логинов и паролей gen_login_pass выдавал великое множество повторов.http://www.php.su/functions/?f=array_rand&choice=info писал(а):"Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически."
К примеру, попробуйте запустить это:
Код: Выделить всё
// функция генерации логина
function generate_login($len)
{
$r = '';
$allowedSymbols = array('b','a','c','e','d','o','f','i','g','u','h','o','j','e','k','o','l','e','m','u','n','o','p','a','q','e','r','o','s','i','t','u','v','e','w','a','x','o','y','i','z');
for ($i=0; $i<$len; $i++)
{
//srand((float) microtime() * 10000000);
$rand=array_rand($allowedSymbols);
if ($i % 2 == 0)
{
while($rand% 2 != 0)
{$rand=array_rand($allowedSymbols);}
$r.=$allowedSymbols[$rand];
}
else
{
while($rand% 2 == 0)
{$rand=array_rand($allowedSymbols);}
$r.=$allowedSymbols[$rand];
}
}
return $r;
}
for ($i=0;$i<1000;$i++)
{
$f = fopen ('C:\123.txt','a+');
$emails=generate_login(rand(7,11));
//sleep(1);
$test = file('C:\123.txt');
for ($ii=0; $ii<=count($test); $ii++)
{
if ($emails == trim($test[$ii])) echo "Логин $emails уже встречался!!! <br>";
}
fwrite ($f, $emails."\r\n");
echo $emails."<br>";
fclose ($f);
}