Foros del Web » Programando para Internet » PHP »

header("Content-type: image/jpeg")

Estas en el tema de header("Content-type: image/jpeg") en el foro de PHP en Foros del Web. Hola les cuento mi problema, lo que pasa es que estoy generando un captcha en un archivo .php pero no se como incluir la imagen ...
  #1 (permalink)  
Antiguo 22/06/2011, 11:49
 
Fecha de Ingreso: junio-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
header("Content-type: image/jpeg")

Hola les cuento mi problema, lo que pasa es que estoy generando un captcha en un archivo .php pero no se como incluir la imagen en un formulario, intente poniendo el código del archivo captcha.php en el del formulario pero solo muestra la imagen y omite todo lo demás que hay en la página, creo que a de ser una tontería pero soy novata les agradezco la ayuda de antemano
  #2 (permalink)  
Antiguo 22/06/2011, 11:51
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: header("Content-type: image/jpeg")

pon el codigo para poder revisarlo
  #3 (permalink)  
Antiguo 22/06/2011, 13:10
 
Fecha de Ingreso: junio-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: header("Content-type: image/jpeg")

Este es el código que puse para el captcha, el cual funciona, pero omite todo lo que hay en el body, es decir solo muestra el captcha.

Código PHP:
Ver original
  1. // Configuración:
  2. $N = 2;     // Nivel de emborronado { 2, 3, 4, ... }
  3. $J = 100;   // Calidad JPEG { 0, 1, 2, 3, ..., 100 }
  4. $M = 5;     // Margen.
  5. $L = 6;     // Número de letras.
  6. $C = FALSE; // Case sensitive.
  7.  
  8. // Acceso a los objetos de sesión:
  9.  
  10. // Indicamos que vamos a generar una imagen ¡no una página HTML!
  11. header("Content-type: image/jpeg");
  12.  
  13. // Inicializamos cualquier posible valor previo de captcha:
  14. $_SESSION['CAPTCHA'] = '';
  15. // Metemos tantos caraceteres aleatorios como sean precisos:
  16. for( $n = 0; $n < $L; $n++ )
  17.     $_SESSION['CAPTCHA'] .= C();
  18.  
  19. // Si no es case sensitive lo ponemos todo en minúsculas:
  20. if( ! $C )
  21.     $_SESSION['CAPTCHA'] = strtolower( $_SESSION['CAPTCHA'] );
  22.  
  23. // Dimensiones del captcha:
  24. $w = 2 * $M + $L * imagefontwidth ( 5 );
  25. $h = 2 * $M +      imagefontheight( 5 );
  26.  
  27. // Creamos una  imagen:
  28. $i = imagecreatetruecolor( $w, $h );
  29.  
  30. // La rellenamos de blanco:
  31. imagefill( $i, 0, 0, imagecolorallocate( $i, 255, 255, 255 ) );
  32.  
  33. // Elegimos aleatoriamente un ángulo de emborronado:
  34. $A = ( rand() % 180 ) / 3.14;
  35.  
  36. // Realizamos iteraciones de emborronado:
  37. for( $n = 0; $n < $N; $n++ ) {
  38.  
  39.     // Factor de interpolación, va de 1.0 a 0.0
  40.     $t = 1.0 - $n / ( $N - 1.0 );
  41.  
  42.     // El radio se va centrando a medida que se hace nítido:
  43.     $r = $M * $t;
  44.  
  45.     // El color va siendo cada vez más oscuro:
  46.     $c = 255 * $t;
  47.     $c = imagecolorallocate( $i, $c, $c, $c );
  48.  
  49.     // Trazamos dos líneas aleatorias para dificultar más las cosas:
  50.     imageline( $i, $M, rand( $M, $h - $M ), $w - $M, rand( $M, $h - $M ), $c );
  51.     imageline( $i, rand( $M, $w - $M ), $M, rand( $M, $w - $M ), $h - $M, $c );
  52.  
  53.     // Pasamos un filtro gaussiano:
  54.     imagefilter( $i, IMG_FILTER_GAUSSIAN_BLUR );
  55.  
  56.     // Dibujamos el texto en el sentido del ángulo y radio de desplazamiento:
  57.     imagestring( $i, 5, $M + $r * cos( $A ), $M + $r * sin( $A ), $_SESSION['CAPTCHA'], $c );
  58.  
  59.     // Pasamos otro filtro gaussiano:
  60.     imagefilter( $i, IMG_FILTER_GAUSSIAN_BLUR );
  61. }
  62.  
  63. // Escribimos la imagen como un JPEG en el buffer de salida:
  64. imagejpeg( $i, NULL, $J );
  65.  
  66. // Liberamos la imagen:
  67.  
  68. // Devuelve un caracter aleatorio:
  69. function C() {
  70.     $W = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  71.     return substr( $W, rand() % strlen( $W ), 1 );
  72. }
  #4 (permalink)  
Antiguo 22/06/2011, 14:07
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: header("Content-type: image/jpeg")

bueno imaginate que le estás diciendo
header("Content-type: image/jpeg")
y después le quieres hablar en html, no entiende ese idioma

puedes hacer tu pagina dentro de un archivo php normal con head, body, etc etc

y donde quieras mostrar tu captcha, pues le das como ruta el archivo php que tendría la funcion en la que generas el captcha
  #5 (permalink)  
Antiguo 23/06/2011, 07:52
 
Fecha de Ingreso: junio-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: header("Content-type: image/jpeg")

Supuse que la solución estaría en algo parecido, pero no se como ponerlo, me podrían pasar un ejemplo si no es mucha molestia?
  #6 (permalink)  
Antiguo 23/06/2011, 08:01
 
Fecha de Ingreso: junio-2011
Mensajes: 7
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: header("Content-type: image/jpeg")

Cita:
Iniciado por adri_ana Ver Mensaje
Supuse que la solución estaría en algo parecido, pero no se como ponerlo, me podrían pasar un ejemplo si no es mucha molestia?
Ya encontré la solución pondré una breve explicación para los primerizos que pudieran ver este post.

Para mostrar el captcha del archivo captcha.php en mi formulario registro.php solo basto con poner <img src="captcha.php" /> y listo. hechando a perder se aprende

Etiquetas: Ninguno
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 03:42.