|
|
|
| Подскажите пожалуйста, как можно написать функцию генерирующую случайные цыфры и буквы длинной скажем в 10 символов
Спасибо. | |
|
|
|
|
|
|
|
для: Pavloff.D
(01.07.2007 в 09:09)
| | Можно так
<?php
$word_length = 10; // количество символов в слове
// добавьте ниже еще какие хотите символы
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ012345678 9abcdefghijklmnopqrstuvwxyz!@#$%^';
$chars_num = strlen($chars);
srand ((double)microtime()*1000000);
for ($i=1; $i<=$word_length; $i++)
{
$pos = rand(1, $chars_num);
$word .= substr($chars, $pos, 1);
}
echo $word;
?>
|
Рекомендую исключить похожие символы, например, единица "1" и строчная L - "l" | |
|
|
|
|
|
|
|
для: WebTech
(01.07.2007 в 11:27)
| | А первая (левая) буква будет участвовать? | |
|
|
|
|
|
|
|
для: Yuriev
(01.07.2007 в 12:04)
| | Нет. К тому же иногда будет не такое кол-во символов, какое нужно, т.к. символа $chars[strlen($chars)] никогда не существовать не будет.
Этот кусок:
$pos = rand(1, $chars_num);
$word .= substr($chars, $pos, 1);
|
Надо заменить на
<?php
$pos = rand(0, $chars_num - 1);
$word .= $chars[$pos];
?>
|
| |
|
|
|
|
|
|
|
для: Unkind
(01.07.2007 в 14:41)
| | Да, спасибо! Не доработал... | |
|
|
|