Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Libreria GD en el Servidor

Estas en el tema de Libreria GD en el Servidor en el foro de PHP en Foros del Web. Hola a todos, mi problema esta en que estoy usando libreria GD y en localhost me va de maravilla, pero ahora lo he colgado y ...
  #1 (permalink)  
Antiguo 28/11/2012, 02:17
 
Fecha de Ingreso: noviembre-2012
Ubicación: Spain
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 0
Libreria GD en el Servidor

Hola a todos, mi problema esta en que estoy usando libreria GD y en localhost me va de maravilla, pero ahora lo he colgado y nada...

Con phpinfo ha dado enable en toda la libreria GD.

Mi codigo.

Código PHP:
<?php

    
include('connect.php');
    
        
$rs mysql_query("SELECT max(id_comp) as id_maximo FROM compartimentos1"); 
        
$fila=mysql_fetch_assoc($rs); 
        
$id $fila['id_maximo']; 
        
    
    
$cantidad $id;

    
$imagen imagecreatefromjpeg("planos/plano1.jpeg");
        
        
$i 1;
        while(
$i <= $cantidad){
        
            
$total mysql_query("SELECT * FROM compartimentos1 WHERE id_comp='".$i."'") or die(mysql_error()); 
            
            if(
mysql_num_rows($total)) { 
                
$row mysql_fetch_array($total); 
                
$coordenadas $row["coord_comp"];
                
$action $row["action_comp"];
                
//echo $ewe."<br>";
                
                
                
$valores explode(","$coordenadas);
                
$j sizeof($valores);
                
//echo $j."<br>";
                
$tamano $j/2;
                
//echo $tamano."<br>";
                
                
$rojo imagecolorallocatealpha($imagen2550063);
                
$azul imagecolorallocatealpha($imagen07225563);
                
$morado imagecolorallocatealpha($imagen198025563);
                
                if(
$action == 'Inundacion'){
                    
$color $azul;
                }
                if(
$action == 'Fuego'){
                    
$color $rojo;
                }
                if(
$action == 'IGP'){
                    
$color $morado;
                }
                
                
                
imagefilledpolygon($imagen$valores$tamano$color);
                
            }
                
$i++;
            
        }
        
    
    
    if(
headers_sent()){ 
    die(
'Headers have been send somewhere within my script'); 
    } 
    
    
ob_clean();
    
    
header("Content-type: image/jpeg"); 
    
imagejpeg($imagen);
    
imagedestroy($imagen); 

?>
Me sale el mensaje del headers_sent y la imagen no sale :S

Headers have been send somewhere within my script


Es extraño porque esta todo igual que en localhost.

Gracias de antemano.
  #2 (permalink)  
Antiguo 28/11/2012, 02:27
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 137
Respuesta: Libreria GD en el Servidor

no tendras algun espacio antes de <?php
  #3 (permalink)  
Antiguo 28/11/2012, 02:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Libreria GD en el Servidor

Si no indicas el mensaje de error completo es complicado ayudar, gracias.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 28/11/2012, 02:36
Avatar de veruti85  
Fecha de Ingreso: octubre-2012
Ubicación: Entre Huelva y Madrid
Mensajes: 32
Antigüedad: 11 años, 5 meses
Puntos: 7
Respuesta: Libreria GD en el Servidor

Probablemente te funcione en local porque estes usando windows y el servidor sea linux

En windows si se imprime un espacio el servidor no lo ve como una impresion, entonces no dara ningun problema con los headers...

En linux un espacio ya es una impresion, por lo que como bien sabemos ya, una vez escrito algo no puedes modificar los headers...

Como bien te comenta abimex, revisa que no se te haya colado algun espacio

Saludos
__________________
No dejes nunca que nadie te diga que no puedes hacer algo

Yo no creo en los arreglos, solo en los arrays.
  #5 (permalink)  
Antiguo 28/11/2012, 02:54
 
Fecha de Ingreso: noviembre-2012
Ubicación: Spain
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Libreria GD en el Servidor

Linux tendra que ver seguro, pero... he borrado cada espacio/tabulacion del codigo, obteniendo esto...
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Plano 1</title>
</head>
<body>
<?php
include('connect.php');
$rs mysql_query("SELECT max(id_comp) as id_maximo FROM compartimentos1");
$fila=mysql_fetch_assoc($rs);
$id $fila['id_maximo'];
$cantidad $id;
$imagen imagecreatefromjpeg("planos/plano1.jpeg");
$i 1;
while(
$i <= $cantidad){
$total mysql_query("SELECT * FROM compartimentos1 WHERE id_comp='".$i."'") or die(mysql_error());
if(
mysql_num_rows($total)){
$row mysql_fetch_array($total); 
$coordenadas $row["coord_comp"];
$action $row["action_comp"];
$valores explode(","$coordenadas);
$j sizeof($valores);
$tamano $j/2;
$rojo imagecolorallocatealpha($imagen2550063);
$azul imagecolorallocatealpha($imagen07225563);
$morado imagecolorallocatealpha($imagen198025563);
if(
$action == 'Inundacion'){
$color $azul;
}
if(
$action == 'Fuego'){
$color $rojo;
}
if(
$action == 'IGP'){
$color $morado;
}
imagefilledpolygon($imagen$valores$tamano$color);
}
$i++;
}
if(
headers_sent()){
die(
'Headers have been send somewhere within my script');
}
ob_clean();
header("Content-type: image/jpeg");
imagejpeg($imagen);
imagedestroy($imagen);
?>
</body>
</html>
Y estoy en las mismas... se envia el 'Headers have been send somewhere within my script', pero la imagen no sale ni a tiros...

Y @pateketrueke, no sale ningun mensaje de error, simplemente la imagen no se imprime...

Porfavor ayudenme :S
  #6 (permalink)  
Antiguo 28/11/2012, 03:01
Avatar de veruti85  
Fecha de Ingreso: octubre-2012
Ubicación: Entre Huelva y Madrid
Mensajes: 32
Antigüedad: 11 años, 5 meses
Puntos: 7
Respuesta: Libreria GD en el Servidor



Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
<
html xmlns="http://www.w3.org/1999/xhtml"
<
head
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<
title>Plano 1</title
</
head
<
body
¿Y eso lo estas imprimiendo antes?

No puedes imprimir NADA, eso son caracteres....

Saludos
__________________
No dejes nunca que nadie te diga que no puedes hacer algo

Yo no creo en los arreglos, solo en los arrays.
  #7 (permalink)  
Antiguo 28/11/2012, 03:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Libreria GD en el Servidor

Es bastante obvio, antes de "imprimir la imagen" se está enviando HTML y es demasiado evidente.

¿Por qué no se dan cuenta?

PDTA: ¿Linux?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 28/11/2012, 05:32
 
Fecha de Ingreso: noviembre-2012
Ubicación: Spain
Mensajes: 28
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Libreria GD en el Servidor

Jodida mierda... xD Ya esta solucionado, muchas gracias, al final como siempre la solucion es la tonteria mas grande.

Gracias por todo :D

Etiquetas: libreria, mysql, servidor, sql
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 17:37.