Foros del Web » Programando para Internet » PHP »

Problema con los campos Blob

Estas en el tema de Problema con los campos Blob en el foro de PHP en Foros del Web. buenas tardes mi problema es el siguiente tengo una base de datos en la cual existe un campo blob, que cuando lo cargan insertan tanto ...
  #1 (permalink)  
Antiguo 02/10/2007, 12:55
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Problema con los campos Blob

buenas tardes mi problema es el siguiente tengo una base de datos en la cual existe un campo blob, que cuando lo cargan insertan tanto texto como imagenes en el mismo campo, el problema que tengo es para mostrarlo, tengo el siguiente codigo:
Código PHP:
while($fila2 ibase_fetch_object($miconexion6))
    {
        echo 
"<td align=\"left\"><span class=\"contBold1\">".$cont.".- </span></td>";
        echo 
"<td align=\"left\"><span class=\"cont_plain\">".$fila2->DES_ERROR."</span></td>";
        echo 
"<td align=\"left\"><img src=\"ver.php?cod=".$fila2->CO_ERROR."\">
</td>"
;
        
$cont $cont 1;
    } 
en ese while es donde hago las llamadas para que se muestren. y la pagina ver.php tiene lo siguiente:
Código PHP:
$cod $_GET['cod'];
header("Content-type: binary");
require (
"Clase_Firebird.php");
$miconexion = new DB_Fire ;
$Conexion $miconexion->conectar();
$miconexion6 $miconexion->consulta($Conexion,"SELECT A.CORREGIR_ERROR FROM T006_ERRORES A WHERE A.CO_ERROR = ".$cod);
$fila2 ibase_fetch_object($miconexion6);
ibase_blob_echo($fila2->CORREGIR_ERROR); 
como pueden ver mi header es tipo binary asi lo tengo por le momento porque estoy probando pero no me funciona bien solo muestra si el campo tiene texto pero las imagenes no.
ademas como hago las llamadas desde un img tampoco me lo muestra bien tengo que darle sobre una imagen como de error ver la imagen y alli si aparece bien cuando es texto!!! Porfa si tienen alguna sugerencia
  #2 (permalink)  
Antiguo 02/10/2007, 13:39
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Problema con los campos Blob

Y no has tratado con algo así:

Código PHP:
<?
        
//CONEXION y CONSULTA A BD =)

    
$image imagecreatefromstring($row['img_blob']);
    
header("Content-type: image/jpeg");
    
imagejpeg($image);
?>
Saludos
  #3 (permalink)  
Antiguo 02/10/2007, 13:59
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con los campos Blob

probé con lo que me dijiste pero me salen los siguientes errores:

Warning: imagecreatefromstring() [function.imagecreatefromstring]: Data is not in a recognized format in C:\AppServ\www\pdvsa\ver.php on line 10

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\pdvsa\ver.php:10) in C:\AppServ\www\pdvsa\ver.php on line 11

Warning: imagejpeg(): supplied argument is not a valid Image resource in C:\AppServ\www\pdvsa\ver.php on line 12

no se si sabes de que necesita agregar alguna libreria para que tome esa función.
__________________
Alejandra Atencio
  #4 (permalink)  
Antiguo 02/10/2007, 14:44
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Problema con los campos Blob

Si, necesitas la libreria GD, pero al parecer esta funcionando bien.

A ver... el problema mas bien parece lo q devuelve la BD, te tuvo q quedar mas o menos así:

Código PHP:
<?
    $cod 
$_GET['cod'];
    
header("Content-type: binary");
    require (
"Clase_Firebird.php");
    
    
$miconexion  = new DB_Fire ;
    
$Conexion      $miconexion->conectar();
    
$miconexion6 $miconexion->consulta($Conexion,"SELECT A.CORREGIR_ERROR FROM T006_ERRORES A WHERE A.CO_ERROR = ".$cod);
    
$fila2 ibase_fetch_object($miconexion6);
    
    
$image imagecreatefromstring($fila2->CORREGIR_ERROR);
    
header("Content-type: image/jpeg");
    
imagejpeg($image); 
?>
Si no funciona, puedes colocar directamente el header de image/jpg algo asi:

Código PHP:
<?
    header
("Content-type: image/jpeg");
    
ibase_blob_echo($fila2->CORREGIR_ERROR); #Suponiendo que esto es igual a un "echo"
?>
P.D: No se mucho acerca de IBase.

Espero te sirva. Saludos.
  #5 (permalink)  
Antiguo 02/10/2007, 15:58
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con los campos Blob

si exactamente asi fue como me quedo el codigo como el primero que colocaste, tambien creo que sea es algo con lo que lee de la base de datos el formato del campo, necesito es algun tipo de content-type que acepte tanto una imagen como un campo binario a la vez. Bueno si es que se puede...la segunda forma que me sugieres ya la he probado pero tampoco funciona :(
__________________
Alejandra Atencio
  #6 (permalink)  
Antiguo 03/10/2007, 11:19
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con los campos Blob

Alguien sabe como mostrar un campo blob que tengo imagenes y texto a la vez????
__________________
Alejandra Atencio
  #7 (permalink)  
Antiguo 03/10/2007, 11:47
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Problema con los campos Blob

Ahhh... y si pruebas algo asi:

Código PHP:
<?
    $cod 
$_GET['cod'];
    
header("Content-type: binary");
    require (
"Clase_Firebird.php");
    
    
$miconexion  = new DB_Fire ;
    
$Conexion    $miconexion->conectar();
    
$miconexion6 $miconexion->consulta($Conexion,"SELECT A.CORREGIR_ERROR FROM T006_ERRORES A WHERE A.CO_ERROR = ".$cod);
    
$fila2          ibase_fetch_object($miconexion6);
    
    
$image = @imagecreatefromstring($fila2->CORREGIR_ERROR);
    if(
$image){
        
header("Content-type: image/jpeg");
        
imagejpeg($image);
    else{
        
header("Content-type: binary");
        
ibase_blob_echo($fila2->CORREGIR_ERROR); 
    }
?>
Saludos
  #8 (permalink)  
Antiguo 03/10/2007, 11:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema con los campos Blob

En el mismo campo blob tienes imagenes Y texto? o estan separados cada uno?
  #9 (permalink)  
Antiguo 03/10/2007, 12:24
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con los campos Blob

estan en el mismo campo, la solucion que consegui hace un rato es que en el header coloque
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-type: application/msword");
y me lo abre en un archivo de word...
__________________
Alejandra Atencio
  #10 (permalink)  
Antiguo 03/10/2007, 12:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema con los campos Blob

Como es que haces el ingreso del texto con las imagenes? con un campo de archivo? si es asi con que tipo de archivo?

Saludos.
  #11 (permalink)  
Antiguo 03/10/2007, 13:22
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con los campos Blob

La carga la hacen en otra aplicación a la base de datos, los archivos son rtf.
Sabes si eso que tengo pueda funcionar en linux?? o conoces algun otro parametro del header que pueda darle formato a esa extension?
__________________
Alejandra Atencio
  #12 (permalink)  
Antiguo 03/10/2007, 14:13
Avatar de @ndreX!  
Fecha de Ingreso: abril-2007
Mensajes: 161
Antigüedad: 17 años
Puntos: 4
Re: Problema con los campos Blob

puedes probar con application/vnd.openofficeorg.extension

Como sea aca hay una direccion con los posibles MIME Types q puedes manejar

http://www.iana.org/assignments/medi...s/application/

Saludos.
  #13 (permalink)  
Antiguo 03/10/2007, 14:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema con los campos Blob

Un archivo rtf no es posible mostrarlo en web, ya que es un campo binario, asi que la unica forma de desplegarlo es o convertirlo a PDF y mostrarlo inline en el explorador o crear un editor y guardar el contenido como html.

Saludos.
  #14 (permalink)  
Antiguo 03/10/2007, 16:30
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Problema con los campos Blob

Como puedo hacer lo que me dices??'
__________________
Alejandra Atencio
  #15 (permalink)  
Antiguo 03/10/2007, 16:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Problema con los campos Blob

Tendrias que escribir un parser que transforme de RTF a PDF, o de RTF a HTML, te dejo este link a la especificacion de como es la estructura de un archivo RTF, con el podras empezar a escribirlo.

Saludos.
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 14:09.