Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/12/2003, 11:04
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Pues yo hice esto (lo puse en un mensaje no hace mucho .. pero ahora no recuerdo donde está) .. espero que te sirva:

Código PHP:
<?php
/*
Función: Genera passwords aleatorios (numéricos o alfanuméricos).
Entrada: Logintud: (digitos/caracteres a generar), tipo: [numerio|alfanumerico]
Salida: Devuelve string.
*/

function genera_password($longitud,$tipo="alfanumerico"){

    if (
$tipo=="alfanumerico"){
        
$exp_reg="[^A-Z0-9]";
    } elseif (
$tipo=="numerico"){
        
$exp_reg="[^0-9]";
    }

    return 
substr(eregi_replace($exp_reg""md5(time())) .
       
eregi_replace($exp_reg""md5(time())) .
       
eregi_replace($exp_reg""md5(time())),
       
0$longitud);
}


// Configuración.

// Nombres tipografías a usar (sin extensión .ttf)
$tipografias = array("arial","comic","times");

// Directorio donde estén las fuentes .. (ruta absoluta)
// (importante el último /o \ según corresponda.
// (Las fuentes son True Type (.ttf)
$tipografias_ruta "C:\WINDOWS\FONTS\\"// Windows.
// $tipografias_ruta="/home/sito/public_html/fonts/"; // Linux (*NIX)

// Inicializa eje X desde donde se empezará a
// "dibujar" el código. (referente al tamaño de la "caja")
$espacio 0;

// Tamaño fuente.
$tamano_fuente 15;

// Profundidad caracteres/digitos del código a generar (password).
$profundidad_codigo 8// (alfanuméricos)


// Rutina ...

    // Generamos un código (password) aleatorio.
    
$codigo=genera_password($profundidad_codigo);

    
// Cálculo Ancho automático de la "caja"
    
    
$x=$profundidad_codigo*$tamano_fuente;
    
$y=$tamano_fuente;

    
// Iniciar la generación de la imagen. Se define una "caja" de $x por $y pixels.
    
$im imagecreate ($x$y);
    
    
// Definición Colores. Expresados en valores R G B (respectivamente).
    
$color_fondo imagecolorallocate ($im255255255); // Blanco
    
$color_texto imagecolorallocate ($im000); // Negro

    
for ($caracter=0$caracter<=$profundidad_codigo$caracter++){

        
// Seleccion de una tipografía aleatoria.
        
$indice_aleatorio=array_rand($tipografias);
        
$tipografia=$tipografias_ruta.$tipografias[$indice_aleatorio].".ttf";
    
        
// Generar el caracter gráfico.
        
ImageTTFText ($im$tamano_fuente0$espacio$tamano_fuente$color_texto$tipografia $codigo{$caracter});

        
// Separación entre caracteres
        
$espacio +=$tamano_fuente;
    }

    
// Cabecera HTTP. Indica al navegador que la imagen que estamos generando es .PNG
    
header("Content-type: image/png");
    
    
// Generar Imagen (un .png Dinámico.)
    
imagepng ($im);
    
// Destruir imagen (de memoria .. va a ser enviada directamente al navegador).
    
imagedestroy ($im);
?>
Usa las extensiones GD para geneara las letras según tipografía (aleatoria para cada letra) y una función más para generar códigos (numéricos y/o alfanuméricos).

Si el código/password a generar .. se lo vas a generar tu .. no uses la función genera_password() .. ahí verás tu ..

En principio el código se usa bajo una llamada de un tag de imagen en HTML:

<img scr="genera_password.php">


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.