Foros del Web » Programando para Internet » PHP »

Mostrar archivos blob en php/mysql

Estas en el tema de Mostrar archivos blob en php/mysql en el foro de PHP en Foros del Web. Buenas a todos, quisiera que me ayuden con cierto problema que tengo con los archivos de tipo blob en php/mysql. La situación es la siguiente: ...
  #1 (permalink)  
Antiguo 23/10/2007, 00:27
Avatar de djmashe  
Fecha de Ingreso: julio-2007
Ubicación: Posadas, Misiones
Mensajes: 52
Antigüedad: 17 años, 4 meses
Puntos: 2
Exclamación Mostrar archivos blob en php/mysql

Buenas a todos, quisiera que me ayuden con cierto problema que tengo con los archivos de tipo blob en php/mysql. La situación es la siguiente:

1. Esta es la declaración de mi tabla a la cual realizo consultas;

Código:
CREATE TABLE `archivosblob` 
(
  `nombre` varchar(100) default NULL,
  `archivo` longblob NOT NULL,
  `mime` varchar(40) default NULL
) TYPE=MyISAM;
En ella almaceno 2 tipos de archivos: html (text/html) e imágenes (image/gif, image/jpeg o image/png).

2. Este es el script (mostrar_archivo.php) con el cual mediante un input text ingreso el nombre del archivo a levantar para luego mostrarlo en el navegador.

Código PHP:
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 </head>
 <body>

 <form action="<? $PHP_SELF ?>" method="post" enctype="multipart/form-data">
   foto: <input type="text" name="nombre" /> <br />
  <input type="submit" name="buscar" value="buscar" />
 </form>

 <? 
  $link 
= @mysql_connect("localhost","usuario","password");
  @
mysql_select_db("base"); 

  
$nombre $_POST[nombre];

  
$sqlmime "SELECT mime FROM archivosblob WHERE nombre = '$nombre'";
  
$resmime = @mysql_query($sqlmime);  
  
$filamime = @mysql_result($resmime0);

  
$sql "SELECT archivo FROM archivosblob WHERE nombre = '$nombre'"

  switch (
$filamime)
  {
   case 
"image/gif": case "image/jpeg": case "image/png":

      
$res_img = @mysql_query($sql); 
      
$fotoBD = @mysql_result($res_img0); 
      @
header("Content-type:".$filamime); 

      echo 
"<table align=center border=1 cellspacing=2>"
          " <tr><td>" 
.$fotoBD"</td><tr>"
              "</table>"
;
      break;

     default: 
$res = @mysql_query($sql);
           
$fila = @mysql_fetch_array($res);
           @
mysql_free_result($res);
           @
header"Content-type:"$fila[1]);
           echo 
$fila[0]; 
           break;
   }
?> 

</body>
</html>

Cuando traigo algún archivo del tipo text/html no hay problemas y me muestra la página. El problema es que si quiero mostrar imágenes me retorna los clásicos caracteres especiales y no me muestra la imagen.


Cita:
�����JFIF���������C� $.' ",#(7),01444'9=82<.342���C 2!!22222222222222222222222222222222222222222222222 222���r"��������������������C���!1AQ"aq���2��#B��� R�$3b��4rCSc�����������������������,������!1AQ"a#2 Bq��Rb������?� �bqU�6I8���[0 V?o�Y؛�B�Y��p�Fz�{���H�%�2X�����!i�he`�Ӧ#P�*<�4�=� n�l�uPqM�`}+�D��R�ȉ��T� =QS�a ��!�v���,H7p��H�����i��=)�Z�����RJA�0k�Fz�ɏ\ ��Ӛ� A�L��m[9aKC)�+���8�h#� ����5�²:G4�6�d�y�ڡ�r�3�Ol��\8�RlTc��MR=�)����:�)�A ���� � R�y����]H����OZ_a�D=&���z�Q��:DL� �88�D��(�{������Z@8���N��mMŲ35���Rߙ��"�#3�D����"ҙ� ��~� C�wp���\ 8��$$��1��O��j�s�AH�֥��U��*L�g��S ����R�7jT��h���l�nX��[k�h���ɑ\�:-�W�%F��k�V��VU�7#ɕ2���ބZ9�V�! ��P/rc5l_Ь�R}�Ђ���N����`�V!��1\&8�M=��������p���"?J$D� hH �%d2 L �� �4F*z�jv�x�J�m#l�=hx.�:�ш%rU$�a0f~\�Ki[p �Lq;S=��� sԀd��@-D�z�]J]u)H8�R�(��ji��q#a ����iP�b$S����t"R&([0b�AT�����W)"jw�%'����W���ڝ06HT��#ڸ�7 ݫ������w�e#8�=tA�vj�`�z�*�3��N+L|�F���P*��Gʸ\*�&�� �j(7��r��#�syP2M -�n�l�,�T)�M0���q9��9�)pEsp�w��o9��q�h��#�D��A���O� 4J����>�y���GS \u�����/-�p���j�皓n@����HH9Pޚ����x�d�9���$�TX������I�����L�Ҡ 8M) ��B@�4���ڕ�~�ח�Y��P���+I)�����U"�M5�leh�^[�5Ev�Mi.��Q\�N FP\#8��\�5mp���pt�V�b�zP�V�XV&#@�LS��`|+���ښ�"f r`�1ORHYӒ��N�!�m� N�8ܼ�����1�n���lLH̎Ի�(� (X$Ti�(��L��TrUĞjP=��OZhr��`f� �I "�J�U���ŭ"RsA��D� '�������H2*-�ʤ�x�N�L�D��F�d�/(T��w��T��IA�mF���v�Cd"޳� ���AӥH��S1]ȉ*ڑ��4�:�� ڔ`f��R��TG5�A�>"�� �Gv�wB����� �6Š;���a�晧�����zh��8�u~��� �cڜ*�1\1�S�)O\Q���5&D�o6j!���DA��ԁ>�S�fN=��� g�D =q��^D@�T�kh�8'���n�*v� �3ۥ0��z!��5� .....

¿Alguien me podría dar una ayuda? Gracias.
  #2 (permalink)  
Antiguo 23/10/2007, 03:05
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 10 meses
Puntos: 10
Re: Mostrar archivos blob en php/mysql

Hola, cuando muestras la imagen hace dentro las etiquetas correspondientes
Código PHP:
<img scr="rutadetufoto/<?=$fotoBD?>" border="0">
saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #3 (permalink)  
Antiguo 25/05/2011, 22:48
 
Fecha de Ingreso: mayo-2011
Mensajes: 1
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Respuesta: Mostrar archivos blob en php/mysql

Compadre, yo tengo exactamente el mismo problema. Ingresé la foto a través de las herrramientas de Mysql (Por workbench o Editando desde el Query browser). Quisiera saber si pudiste mostrarla usando el campo blob. Gracias.
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:08.