1. Esta es la declaración de mi tabla a la cual realizo consultas;
Código:
En ella almaceno 2 tipos de archivos: html (text/html) e imágenes (image/gif, image/jpeg o image/png).CREATE TABLE `archivosblob` ( `nombre` varchar(100) default NULL, `archivo` longblob NOT NULL, `mime` varchar(40) default NULL ) TYPE=MyISAM;
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($resmime, 0);
$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_img, 0);
@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.