Tengo un pequeño problemilla con ver la imagen que debería generar un código de seguridad para incluirla en una casilla y continuar con las operaciones. Se está rellenando un formulario y en un momento dado pasamos a otro apartado en donde debería de salir una imagen con un código generado, bueno eso supongo que todos sabeis lo que es, el caso es que la imagen me aparece vacía, como cuando se hace una referencia a una imagen normalmente y no está, aparece el cuadrito con el aspa roja, desde yá os digo que no es problema de las GDS, porque están habilitadas, debe ser algo que tengo mal,
El archivo que supuestamente debería generar esa imagen es
simg.ph
Código PHP:
<?php
require_once( "../inc/header.inc.php" );
ob_start();
session_start();
$chars = array("a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J",
"k","K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T",
"u","U","v","V","w","W","x","X","y","Y","z","Z","1","2","3","4","5","6","7","8","9");
$textstr = '';
for ($i = 0, $length = 8; $i < $length; $i++) {
$textstr .= $chars[rand(0, count($chars) - 1)];
}
$hashtext = md5($textstr);
$tmpname = $hashtext.'.png';
$_SESSION['strSec'] = $hashtext;
$bgurl = rand(1, 3);
$cmd = $CONVERT;
$cmd .= ' '.$dir['root'].'simg/images/bg'.$bgurl.'.png';
$cmd .= ' -crop 200x35+'. rand(0,180) . '+' . rand(0,315);
$cmd .= ' '.$dir['root'].'tmp/bg'.$hashtext.'.png';
exec($cmd);
$im = $dir['root']."tmp/bg".$hashtext.".png";
$font = $dir['root']."simg/verdana.ttf";
$size = rand(24, 36);
$hexValues = array('0','1','2','3','4');
$numHex = count($hexValues);
$color = '';
for ($i = 0; $i < 6; $i++) {
$color .= $hexValues[rand(0, $numHex-1)];
}
$gravities = array('West', 'Center', 'East');
$gravity = $gravities[rand(0, count($gravities)-1)];
$angle = rand(-10, 10);
$cmd = $CONVERT;
$cmd .= ' -font "'.$font.'"';
$cmd .= ' -fill "#'.$color.'"';
$cmd .= ' -pointsize '.$size;
$cmd .= ' -gravity "'.$gravity.'"';
$cmd .= ' -draw "text 1,0 \''.$textstr.'\'"';
//$cmd .= ' -rotate '.$angle;
$cmd .= ' '.$im.' '.$dir['root'].'tmp/'.$tmpname;
exec($cmd);
unlink($im);
header("Content-Type: image/png");
print fread(fopen($dir['root'].'tmp/'.$tmpname, 'r'), filesize($dir['root'].'tmp/'.$tmpname));
unlink($dir['root'].'tmp/'.$tmpname);
ob_end_flush();
?>
join_form.php que lo podeis ver aquí, ya que es muy largo y no entraría aquí. Las líneas en las que hace referencia al tema de crear la imagen con el código se pueden ver en primer lugar debajo de la primera línea que he puesto de asteriscos y después donde debería salir la imagen es donde está la segunda línea de asteriscos,
Bueno se que es mucho rollo, pero para mí es muy importante poder dar con la solución a mi problema así que si un día estais aburridos y me quereis hechar una mano hechándole un vistazo no os imaginais cuanto os lo agradecería. Como siempre vayan las gracias por adelantado y salu2