Foros del Web » Programando para Internet » PHP »

No consigo ver la imagen que debería generar un código de seguridad

Estas en el tema de No consigo ver la imagen que debería generar un código de seguridad en el foro de PHP en Foros del Web. Hola a tod@s. Una vez más estoy aquí para ver si me podeis hechar una mano. Tengo un pequeño problemilla con ver la imagen que ...
  #1 (permalink)  
Antiguo 24/04/2006, 13:21
mon
 
Fecha de Ingreso: febrero-2003
Mensajes: 506
Antigüedad: 21 años, 2 meses
Puntos: 0
No consigo ver la imagen que debería generar un código de seguridad

Hola a tod@s. Una vez más estoy aquí para ver si me podeis hechar una mano.
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(0count($chars) - 1)];
}
$hashtext md5($textstr);
$tmpname $hashtext.'.png';
$_SESSION['strSec'] = $hashtext;
$bgurl rand(13);
$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(2436);
$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(0count($gravities)-1)];
$angle rand(-1010);
$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();
?>
Y el otro archivo donde llegado el momento se hace referencia a el es
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:22.