+1

Técnicas e Algoritmos - Números aleatórios

criado por Leonardo Caitano em 08/10/2006 11:01am
Exemplos de utilização de rand();

<?php
/* Simplismente apresenta um número diferente a cada execução */
echo "Numéro aleatório: " . rand();
?>

Provavelmente, você não daria muita importância para rand() com esse exemplo. Porém, logo abaixo apresento à vocês algumas formas de utilização de rand().

Mostrando uma mensagem diferente a cada visitante/visita no seu site

<?php
/* Para que o script funcione você deve criar um arquivo chamado
   mensagens.txt no mesmo diretório do script e acrescentar uma frase
   à cada linha do arquivo.
*/
$arquivo   = "mensagens.txt";
$mensagens = file($arquivo);
echo $mensagens[rand(0, sizeof($mensagens) - 1)];
?>

Gerando nomes diferentes para arquivos em uploads.

<?php
/* A variavel tamanho define o tamanho do nome do arquivo,
  essa função não gera a extenção do arquivo, essa funcionalidade
  pode ser acrescentada sem complicações
*/
function geradorDeNomes($tamanho)
{
   $nome   = md5(rand());
   $saida  = substr($nome, $tamanho);
   return $saida;
}
/* exemplo de utilização */
$ext = ".jpg";
echo geradorDeNomes(8) . $ext;
?>

Gerando senhas automáticas para novos usuários cadastrados no site.

<?php
/* Essa função gera senhas contendo numeros e letras minúsculas,
   mas outros caracteres podem ser adicionados na string $caracteres
*/
function geradorDeSenhas($tamanho)
{
    $caracteres    = '1234567890abcdefghijklmnopqrstuvwxyz';
    $numCaracteres = strlen($caracteres);

    if ($tamanho > $numCaracteres) {
        return false;
    }
    $saida = '';
    for ($i = 0; $i < $tamanho; $i++) {
        $saida .= substr($caracteres, rand(1, $numCaracteres) - 1, 1);
    }
    return $saida;
}
/* exemplo de utilização */
echo "Sua senha é: " . geradorDeSenhas(6);
?>

Estes foram apenas alguns exemplos simples da utilização de rand(), uma função muito útil e que com certeza você utilizará bastante.

Até o próximo artigo. ;-)

Comentários:

Nenhum comentário foi enviado ainda.

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)