Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2009, 05:35
samy4ever
 
Fecha de Ingreso: agosto-2008
Mensajes: 143
Antigüedad: 15 años, 8 meses
Puntos: 1
Problema con headers y phplot

Hola,

Tengo un problema:

Código PHP:
WarningCannot modify header information headers already sent by (output started at /var/www/index.php:8in /var/www/phplot.php on line 1127 
Lo mismo para la línea 28,29,30 y 36. El código que peta es:

Código PHP:
 if ( (! $this->browser_cache) && (! $this->is_inline)) {
           
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // 1127
            
header('Last-Modified: ' gmdate('D, d M Y H:i:s') . 'GMT'); //1128
            
header('Cache-Control: no-cache, must-revalidate'); // 1129
            
header('Pragma: no-cache'); // 1130
        

y la 1136:

Código PHP:
 if (! $this->is_inline) {
                
Header('Content-type: image/png'); // 1136
            

Estoy usando la librería phplot. Cuando hago el gráfico que lleva de ejemplo, funciona. En cambio, si lo pongo en mi código, no funciona.

Segun he leído, por como está programada la librería primero tengo que hacer el gráfico porque si mando algun carácter, espacio, algun texto, lo que sea, antes de graficar, no funcionará por problemas con los headers.

Entonces, debo primero graficar. El problema está en que aunque haga las consultas a la BD para hacer los gráficos y demás antes de mandar nada al cliente, primero tengo que mandar otras cosas. Es decir, en mi página el gráfica es lo último que se ve. Hay alguna manera de capturar esta imagen del gráfico (así luego cargo la imagen directamente y no hace falta más los headers etc, y podría hacer el gráfico en una página php y que redireccionara a la otra y me cargara la imagen y me ahorraba problemas) o bien de no tener problemas con los headers y graficar cuando me sea necesario en la página?

Cualquier duda o código pedirme, no sé si queda bien explicado.

Muchas gracias,
Samu

EDITO: Si pongo todo el código al principio (el PHP del phplot y demás) sí me va el gráfico pero no me muestra el resto de la página. Cómo podría hacer para mostrar el resto de la página? Y para cargar el gráfico pero no llamar a la función de dibujarla ($plot->DrawGraph(); ) hasta el final de la página? Porque sinó, aunque se muestre la página, el gráfica no queda donde yo quiero :(