Estoy intentando crear una imagen con un texto aleatorio para hacer un captcha.
La verdad es que no se demasiado de creación de imágenes mediante php, pero por lo que he encontrado buscando en algunos libros y en Internet, primero hay que crear la imagen, luego definir los colores, dibujar sobre ella lo que se quiera, enviarla, y destruirla para liberar memoria. Eso he hecho (o eso creo), pero el explorador me dice que no puede mostrarla porque contiene errores.
¿Alguien me puede explicar qué error contiene, por favor? Dejo el código:
/
Código PHP:
/creo las variables que contendrán las letras que se insertarán en la imagen
$letras=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');
$aleat=chr(rand(ord($letras[0]), ord($letras[25])));
$texto=$aleat+$aleat+$aleat+$aleat+$aleat+$aleat+$aleat+$aleat;
//creo la imagen, 200px ancho, 75 alto
$img=imagecreate(200, 75);
//defino algunos colores
$black=ImageColorAllocate($img, 0, 0, 0);
$white=ImageColorAllocate($img, 255, 255, 255);
//escribo el texto sobre la imagen
$imagen=imagestring($img, 10, 10, 20, $texto,$white);
//destruyo los colores
imagecolordeallocate($img, $black);
imagecolordeallocate($img, $white);
//mando la imagen
imagejpg($imagen);
//destruyo la imagen
imagedestroy($imagen);
Gracias a todos: Alun