Foros del Web » Programando para Internet » PHP »

Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,png y FLV

Estas en el tema de Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,png y FLV en el foro de PHP en Foros del Web. Saludos, Disculpen me gustaria saber como puedo obtener el tipo de archivo de un campo BLOB q almacena gif,jpg,png,flv y despues presentarlo....
  #1 (permalink)  
Antiguo 29/10/2008, 20:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 1
Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,png y FLV

Saludos,

Disculpen me gustaria saber como puedo obtener el tipo de archivo de un campo BLOB q almacena gif,jpg,png,flv y despues presentarlo.
  #2 (permalink)  
Antiguo 29/10/2008, 20:34
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,pn

y pq no guardas un campo con la extension?
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 30/10/2008, 07:37
 
Fecha de Ingreso: diciembre-2007
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,pn

Saludos,

Lamentablemente no puedo cambiar la estructura de la base por politicas del proyecto
  #4 (permalink)  
Antiguo 30/10/2008, 09:35
 
Fecha de Ingreso: diciembre-2007
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,pn

Saludos,

Las imagenes q almaceno en la BBDD son solo de formato gif o jpg pero al mostrar utilizando este codigo m sale error:

<?php
while ($erow = mysql_fetch_array($rev))
{
?>
<div id="<?php $i++?>" class="news">
<b><span style="color:#ffffff; float:right;"><?php echo $erow["comi_detalle"]?></span></b><br><span style="float:right; margin-top:7px;"><b>Horario: <?php echo $erow["time"]?></b></span><br><br><span style="float:left; width:220px; height:100px;"><?php

header("Content-Type: image/gif");
echo $erow["imagen"];
?>

</span><span style="float:right; width:240px; height:100px;"><b><?php echo $erow["events"]?></b><br><? echo $erow["cuerpo"];?></b></span><span style="float:left; width:220px; height:100px; margin-top:4px;"><?php echo "<b>"."Desde "."</b>".date("j \-m \-Y", strtotime($erow["dates"])) ."<b>". " Hasta "."</b>".date("j \-m\-Y", strtotime($erow["fecha_fin"]))?> </div>
<?php }?>
</div> </td>
</tr>
<?php }?>
  #5 (permalink)  
Antiguo 30/10/2008, 10:08
 
Fecha de Ingreso: marzo-2005
Ubicación: Guadalajara, Jal
Mensajes: 164
Antigüedad: 19 años, 1 mes
Puntos: 1
De acuerdo Respuesta: Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,pn

Mira yo ocupo este codigo para hacer la busqueda y mando a llamar otra rutina y logro mostrarla

Código PHP:
$conex=mysql_connect("localhost","root","") or die ("Error al realizar la conexion...");
mysql_select_db("productos");
$cons="select clave,nombre,precio,img from productos ";
$resul=mysql_query($cons,$conex);
$n=mysql_num_rows($resul);
if(
$n==0)
                    {                           
                    }                                        
       echo
"<center>";
       echo 
"<table  align=center border=1 bordercolor='#000000'>"
       
$columnes 5# N&uacute;mero de columnas (variable) 
       
if (($rows=mysql_num_rows($resul))==0)
        {   
           echo 
"<tr><td colspan=$columnes><strong>No Tenemos Promociones de '$tipo' Por El Momento </strong></td></tr> ";
        } 
      else 
      { 
               echo 
"<tr><td colspan=$columnes><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><div align='center'><strong>$rows Promociones De '$tipo' </strong></div></font> </td></tr>"
              echo
"<tr>";
               echo 
"<td ><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><div align='center'><strong>Clave </strong></div></font></td>"
            echo 
"<td ><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><div align='center'><strong>Nombre</strong></div></font></td>";
              echo 
"<td ><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><div align='center'><strong>Precio</strong></div></font></td>";
            
            echo 
"<td ><font color='#666666' size='2' face='Verdana, Arial, Helvetica, sans-serif'><div align='center'><strong>Imagen</strong></div></font></td>";
            
            echo
"</tr>";
     } 
        for (
$i=1$row mysql_fetch_row ($resul); $i++) 
        { 
            
$resto = ($i $columnes); # N&uacute;mero de celda del <tr> en que nos encontramos 
            
if ($resto == 1
                {    
                    echo 
"<tr>";
                }     
# Si es la primera celda, abrimos <tr>                     
                    //$nom="select img from productos where tipo ='$row[0]'";                    
                    
echo "<td><font color='#1471AA' size='2' face='Verdana, Arial, Helvetica, sans-serif'><div align='center'><strong>$row[0]</strong></div></font></td>";
                    echo 
"<td><font color='#1471AA' size='2' face='Verdana, Arial, Helvetica, sans-serif'><div align='center'><strong>$row[1]</strong></div></font></td>";    
                    echo 
"<td><font color='#1471AA' size='2' face='Verdana, Arial, Helvetica, sans-serif'><div align='center'><strong>$row[2]</strong></div></font></td>";                    
                    echo 
"<td><img src='ver.php?clave=$row[0]' width=80 height=80></td>";                                
                    echo 
"</tr>";            
                if (
$resto == 0
                {                    
                } 
# Si es la &uacute;ltima celda, cerramos </tr> 
            

            if (
$resto <> 0
            { 
# Si el resultado no es m&uacute;ltiple de $columnes acabamos de rellenar los huecos 
                
$ajust $columnes $resto# N&uacute;mero de huecos necesarios 
                
for ($j 0$j $ajust$j++) 
                {            
                } 
                
//echo "</tr>"; # se Cierra  la &uacute;ltima l&iacute;nea </tr> 
            
            

                echo 
"</table>"
                echo
"</center>"

ver.php

Código PHP:
header"Content-type: image/jpeg");
$conex=mysql_connect("localhost","root","") or die ("Error al realizar la conexion...");
mysql_select_db("productos");
$query "select img from productos where clave = '$clave'";
$result mysql_query($query,$conex);
$imagen mysql_result($result,0);
echo 
$imagen

Saludos Hojala te sirva
  #6 (permalink)  
Antiguo 30/10/2008, 10:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,pn

Exacto, necesitas una pagina intermedia para poder ver la imagen en el navegador, no puedes enviar el stream directo en una pagina html.

Por otro lado es probable que si lees los primeros bytes de la imagen al descargarla y conociendo los formatos de los tipos de archivo puedas ver que es, según recuerdo los primeros 3 bytes de un archivo gif dicen GIF, investiga y prueba con los demas tipos de archivo.

Saludos.
  #7 (permalink)  
Antiguo 30/10/2008, 13:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,pn

Saludos,

Muchas gracias alvarock por el codigo me sirvio un mundo, algo adicional como puedo presentar datos blob pero con contenido MP3
  #8 (permalink)  
Antiguo 30/10/2008, 13:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Obtener el tipo de archivo de un campo BLOB que almacena imagen gif,jpg,pn

En ese caso necesitas un Flash Player que pueda reproducir archivos MP3, o un control ActiveX que pueda hacerlo.

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 05:54.