Galera, estava colocando confirmação por email no sistema de cadastro de um site que estou fazendo, então tive que fazer essa função pra gerar uma chave de ativação pra cada user.
Ai resolvi postar aqui.
A função gera x caracteres diferentes que incluem todo o alfabeto em maiusculo, todo o alfabeto em minusculo e números (26 + 26 + 10 = 62 caracteres diferentes)
<?php
function keyrand($len = 10) {
$array = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
$key = array();
for($i = 1; $i <= $len; $i++)
{
$r = rand(0,count($array));
$key[$i] = $array[$r];
}
return join($key);
}
?>
[/code]
Exemplos de uso:
[code]
<?php echo keyrand(); ?>
Por padrão ele irá gerar randomicamente 10 caracteres diferentes.
<?php echo keyrand(15); ?>
[/code]
Irá gerar 15 caracteres diferentes. Ou substitua o 15 pela quantidade de caracteres que quer gerar.