Foros del Web » Programando para Internet » PHP »

Problemas con GD

Estas en el tema de Problemas con GD en el foro de PHP en Foros del Web. Hola a todos; Estoy empesando con GD, pero tengo estos avisos de error: Código PHP: Warning :  Cannot modify header information  -  headers already sent by  ( output started at c : desarrollowww .... ...
  #1 (permalink)  
Antiguo 23/11/2009, 22:59
 
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 14 años, 8 meses
Puntos: 2
Problemas con GD

Hola a todos;

Estoy empesando con GD, pero tengo estos avisos de error:

Código PHP:
WarningCannot modify header information headers already sent by (output started at c:desarrollowww....phpind.php:86in c:desarrollowww...phpcntcut.php on line 100

Fatal error
Call to undefined function imagejpg() in c:desarrollowww...phpcntcut.php on line 101 
Los datos del Servidor Virtual es el siguiente:

The AppServ Open Project - 2.5.2 for Windows
phpMyAdmin Database Manager Version 2.6.0-pl2
PHP Information Version 5.0.2


En el detalle del php 5:

GD Support____________enabled
GD Version ____________bundled (2.0.28 compatible)
FreeType Support_______enabled
FreeType Linkage_______with freetype
FreeType Version_______2.1.9
GIF Read Support_______enabled
GIF Create Support______enabled
JPG Support____________enabled
PNG Support___________enabled
WBMP Support_________enabled
XBM Support___________enabled

En el php.ini, tengo lo siguiente:

;Windows Extensions

extension=php_gd2.dll

El codigo es el siguiente:

Código PHP:
<div style="border:solid 1px black;width:60px;">
          Prueba3
<?
$imagen 
imagecreatetruecolor(300,200)
$blanco imagecolorallocate($imagen255,255,255); //Creamos y rellenamos de blanco
$negro imagecolorallocate($imagen000);
$rojo imagecolorallocate($imagen25500);
$amarillo imagecolorallocate($imagen2552550);
$azul imagecolorallocate($imagen00255);
$cian imagecolorallocate($imagen0255255);
imagestring($imagen366"Holaaaa"$azul);
//
header("Content-type: image/png");
imagepng($imagen);
imagedestroy($imagen);
?>
</div>
A todo esto, el codigo esta metido en una pagina php con codigo html.

Espero que me puedan ayudar.
  #2 (permalink)  
Antiguo 23/11/2009, 23:17
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Problemas con GD

Enviar headers quiere decir enviar la cabecera de la página (no lo que está entre los tags <head> y </head>, sino información para el navegador). Es información que se envía antes de cualquier contenido al navegador para indicarle cómo debe interpretar el resto de la página (si es una página web, una imagen o qué). Como ya haz enviado información (los div y el "Prueba3"), no puedes volver a enviar los headers. No debe haber ni un salto de línea antes del envío de headers. Obviamente, mientras no hagas un echo o algo similar, el código PHP no se envía al navegador, sólo se interpreta en el servidor. Prueba lo siguiente:
imagen.php:
Código PHP:
$imagen imagecreatetruecolor(300,200)
$blanco imagecolorallocate($imagen255,255,255); //Creamos y rellenamos de blanco
$negro imagecolorallocate($imagen000);
$rojo imagecolorallocate($imagen25500);
$amarillo imagecolorallocate($imagen2552550);
$azul imagecolorallocate($imagen00255);
$cian imagecolorallocate($imagen0255255);
imagestring($imagen366"Holaaaa"$azul);
//
header("Content-type: image/png");
imagepng($imagen);
imagedestroy($imagen); 
Página.php (también puede ser HTML puro):
Código HTML:
<div style="border:solid 1px black;width:60px;">
          Prueba3
          <img src="imagen.php" />
</div> 
¡Suerte!
  #3 (permalink)  
Antiguo 25/11/2009, 05:06
 
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Problemas con GD

HOlas:

Gracias por la orientación, pensaba que se podría en forma directa.

Me funciona perfectamente.

Nos vemos.
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 15:43.