Foros del Web » Programando para Internet » PHP »

Problema extraño con la libreria GD

Estas en el tema de Problema extraño con la libreria GD en el foro de PHP en Foros del Web. ¡Hola a todos! Estoy aprendiendo a programar en PHP y me llego un script con funaciones GD. El problema es que no puedo hacer que ...
  #1 (permalink)  
Antiguo 03/11/2010, 04:41
 
Fecha de Ingreso: noviembre-2010
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Problema extraño con la libreria GD

¡Hola a todos! Estoy aprendiendo a programar en PHP y me llego un script con funaciones GD. El problema es que no puedo hacer que esa libreria funcione.

He revisado el archivo php.ini como dicen que haga y esta todo en orden, y cuando ejecuto un script me sale un monton de caracteres sin sentido, por ejemplo este codigo sencillo:
Código PHP:
<?php
// Crear una imagen de 200 x 200
$lienzo imagecreatetruecolor(200200);

// Asignar colores
$rosa imagecolorallocate($lienzo255105180);
$blanco imagecolorallocate($lienzo255255255);
$verde imagecolorallocate($lienzo13213528);

// Dibujar tres rectángulos, cada uno con su color
imagerectangle($lienzo5050150150$rosa);
imagerectangle($lienzo4560120100$blanco);
imagerectangle($lienzo10012075160$verde);

// Imprimir y liberar memoria
header('Content-Type: image/jpeg');

imagejpeg($lienzo);
imagedestroy($lienzo);
?>
Me devuelve esto en el navegador:
Código:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\prueba\hola.php:6) in C:\xampp\htdocs\prueba\hola.php on line 21
ÿØÿà�JFIF������ÿþ�>CREATOR: gd-jpeg v1.0 (using IJG JPEG v70), default quality ÿÛ�C�    $.' ",#(7),01444'9=82<.342ÿÛ�C  2!!22222222222222222222222222222222222222222222222222ÿÀ��È�È"�ÿÄ����������� ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚ ...
Los tres puntos que puse al final son por que el resultado es demaciado grande que no puedo ponerlo aquí.

¿Alguien sabe por que ocurre esto? ¿Que significa ese warning? Me gustaria aprender a usar esta libreria pero aun no logro ejecutar mi primer ejemplo.

Estoy usando XAMPP sobre windows para probar los ejemplos.
  #2 (permalink)  
Antiguo 03/11/2010, 07:15
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problema extraño con la libreria GD

eso puede deberse a que tienes caracteres extra fuera del bloque php, elimina los saltos de lineas y guarda el archivo como utf8 sin BOM, y tambien no puedes realizar ningún echo ni tener bloques de código HTML.

¿por que pasa?: porque imagejpeg dumpea a la salida del script el binario de la imagen, y si existen caracteres extraños el navegador no los interpreta porque el binario de la imagen se corrompe.

Warning: Cannot modify header information: porque haces un echo antes de header, o tienes código html antes de la llamada a header, cuando llamas a header el mismo modifica los encabezados HTTP y por lo tanto no debe haber nada en el flujo de salida del script antes de modificar los encabezados.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 03/11/2010, 15:10
 
Fecha de Ingreso: noviembre-2010
Mensajes: 3
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Problema extraño con la libreria GD

Cita:
Iniciado por maycolalvarez Ver Mensaje
eso puede deberse a que tienes caracteres extra fuera del bloque php, elimina los saltos de lineas y guarda el archivo como utf8 sin BOM, y tambien no puedes realizar ningún echo ni tener bloques de código HTML.

¿por que pasa?: porque imagejpeg dumpea a la salida del script el binario de la imagen, y si existen caracteres extraños el navegador no los interpreta porque el binario de la imagen se corrompe.

Warning: Cannot modify header information: porque haces un echo antes de header, o tienes código html antes de la llamada a header, cuando llamas a header el mismo modifica los encabezados HTTP y por lo tanto no debe haber nada en el flujo de salida del script antes de modificar los encabezados.
En efecto, el código estaba en medio de etiquetas html, las he quitado y se ha solucionado

Gracias por tu ayuda, esa información ha sido muy útil, ahora puedo seguir aprendiendo mas de esa libreria, a seguir estudiando entonces

Etiquetas: extraño, libreria
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 18:45.