Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    4

    visualizzazione immagine BLOB da database mysql

    Allora, sono alla canna del gas...
    Il mio problema è che non riesco a visualizzare un'immagine BLOB sul browser richiamandola da un database mysql... Sto impazzendo... questo è il mio codice do visualizzazione


    <?php
    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'root')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('utenti'))
    die('Selezione database fallita!');

    // query per recuperare il file
    $query = 'SELECT * FROM utenti.tabella_files WHERE id_file = '.$_GET['id'];
    echo $query . "
    ";
    $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());
    echo $risultato . "
    ";
    $tmp = mysql_fetch_array($risultato);
    echo $tmp . "
    ";

    // invio una intestazione contenente il tipo MIME
    header('Content-Type: '. $tmp['tipo_file']);
    echo $tmp['tipo_file'];

    // invio il contenuto del file
    echo $tmp['dati_file'];

    ?>


    La schermata che mi si presenta è tipo questa:
    ����JFIFHH��C     %$$$%((((((((((��C ""$! !$#$"""$#&&$$&&(((((((((((((((������ ��B!1"AQ2aq#B� 3R��br��$��4%Cc���S������� !A1"�� ?�1z^#���%@�JZ��j(�� TQ]��(E@J�����#W�Sbz�Ø��5exߍ�- DϤiu/�i��yv�����~W;Q��1�U���1���ծ�K�qJ�{ ���ƎX���Ń�e��ic��*���AW��m��}�,�1(x�H�����]쾟E�T� R����Z[��_�t�9_�� �K�G3�P �o�]glߛe���n#f�'5����ӝ��OU�*�/o����_�T��cak�a-�=��ʩ��h����{�����%������x�>6�v;��wY��徣��������u�ˤ ��$������G �P%�u�Kt tB�Q��@�9�wy5��q��*AQF (�R�R� � �� "�"�A��5WET�Ap��Y^-����й�T�ޞGsw ;q��s��_@V�G# U;xw��bƏ6��[),wp�����2[�V����)�+��çS{]\f�2������\�0������������X�ޓ�[��%�V������1 C��g��1��jt���87�0�Z0�� ��tO6p?������}�ﲺ���־>#��Õ�ɪ�}�x��x m����pt��mYg�z���Fd7������v���5>5YIU�]�i!��������\���8fu��]�y�j�ꠐ"Tr��r!u� A�9 T��r�A�a^���s u�)�]@�*(�"�9]Ad8*+���E(�@�@W(�S�,"�/����y����] C�s lH7X��T��2 �e��>��J�ֻS�g�)qv9���%��6�1 ����a_^%?�h�������ت����,����:����j)���?�Y�|� W����7K��{�u='����X^A�M�zf��c�>�5��@-��zjE;�!�2��Ӽk��EN��x4p��׺/3��C�I���Jj�S���O@��\�l��7��ٗFt �EG �t@�]�"�N@�@�A�:��0�.�֢�"��T�耮�0PQ`�F� ���PTB��6���(*����Q�n}�Њ�c����+�Y�s��c���E ��a�n������E����@�{�.f��+:zQ�о'J�/�+U�f���U�gF��')�0Ӽ@�m�7�mMF�,�h\�48U�X�RK�� C�j��2���Z��S��dp�{z��Q�:��]��[�\� ��޻��S!«# �d��UacÕ�d��7����̮�" ^XH���k�>R?��"�]{���=R������m�i�eDR��[�3����a.�n����r:�9�9"9 �����FF7@�P��D ���n�0�Q�S��)s [�+� ��E*)Q1A�_�㰆:͙���K�s�y�+��w/�fj0o�.]F�Jz�M-��wXu�����K�~U�����"��������R��-D1��5����Eb#�{ �xb�u �1��ςP��/��eq��x_�[v_�VI?R�f�u+ZyO��u|�Ը��E'�=����嬑�TǒF� v!t�1b�� k��.�#����Pr(�!@�9"�)�zS�(Ȣ @` p4�*��E*E" F��E-� ��@`�ꨁQJ��0�E4s�a�ׄ��>0�|t�I5;@�ڎ�r��^:y-U;���|�a�a�l;�y�•G_KLȬ@�4\$T� G�I{���x)i�#nV��m��P�'6b�k�ʊ�q�34��ʈ�N�k�� ��b7[�b<���h]�(�DA��nS�Ш�1��o0pg��‚}3 6i9㶀���@�,�q�����{ �L2R9�?!��)쌤J�#�se�tT�E!9��]��k&/�� ����Ӡ����[�V���� K�#x�c'����uت�U �Q\�T �rD!@�@�1�^���n�p�p5�"� PT eY�@�]Eu�D ��(�P�(�E�u�C\� �h�a1H.��Edq�����4�6'^�J��ǖ�S�}��#�U,U/-�aJx̀���zt����HA�ϐj��������� �F�:>�h�揢�ו+���6XϜ;�dU�u$��2xN�:߭�N\�G6e���� �Z`�K.\�����>���38e�#s��Ti�>���3H�7�z� �Ylk p�:��+�#�U���$y�o�\���i0��

    HELPPPPPPPPPPP

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    4
    nessuno sa darmi un'indicazione?

  3. #3
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Il tuo codice
    Codice PHP:
    <?php 
    // connessione e selezione del database
    mysql_connect('localhost''root''root')
    or die(
    'Connessione non riuscita: ' mysql_error());

    if(!
    mysql_select_db('utenti'))
    die(
    'Selezione database fallita!');

    // query per recuperare il file
    $query 'SELECT * FROM utenti.tabella_files WHERE id_file = '.$_GET['id'];
    echo 
    $query "
    "

    $risultato mysql_query($query) or die('Query non valida: ' mysql_error());
    echo 
    $risultato "
    "
    ;
    $tmp mysql_fetch_array($risultato);
    echo 
    $tmp "
    "
    ;

    // invio una intestazione contenente il tipo MIME
    header('Content-Type: '$tmp['tipo_file']);
    echo 
    $tmp['tipo_file'];

    // invio il contenuto del file
    echo $tmp['dati_file'];

    ?>
    ha un errore di fondo, ossia produrre dell'output con la echo prima della chiamata della funzione header. Gli header sono inviati non appena cerchi di produrre dell'output, ne consegue che all'istruzione echo $query . "
    "; gli header partono, e la successiva chiamata della funzione header(), per impostare il content type, non ha alcun effetto. Subito dopo produci in output (come testo html) il contenuto binario del file immagine che recuperi dal DB.

    Ripassa la funzione header
    http://it.php.net/manual/en/function.header.php

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    4
    penso di aver capito... Ho riscritto il codice cosi:

    <?php
    // connessione e selezione del database
    mysql_connect('localhost', 'root', 'root')
    or die('Connessione non riuscita: ' . mysql_error());

    if(!mysql_select_db('utenti'))
    die('Selezione database fallita!');

    // query per recuperare il file
    $query = 'SELECT * FROM utenti.tabella_files WHERE id_file = '.$_GET['id'];

    $risultato = mysql_query($query) or die('Query non valida: ' . mysql_error());

    $tmp = mysql_fetch_array($risultato);


    // invio una intestazione contenente il tipo MIME
    header('Content-type: '.$tmp['tipo_file']);


    // invio il contenuto del file
    echo $tmp['dati_file'];

    ?>


    Ma il risultato è di nuovo questo:

    ����JFIFHH��C     %$$$%((((((((((��C ""$! !$#$"""$#&&$$&&(((((((((((((((������ ��B!1"AQ2aq#B� 3R��br��$��4%Cc���S������� !A1"�� ?�1z^#���%@�JZ��j(�� TQ]��(E@J�����#W�Sbz�Ø��5exߍ�- DϤiu/�i��yv�����~W;Q��1�U���1���ծ�K�qJ�{ ���ƎX���Ń�e��ic��*���AW��m��}�,�1(x�H�����]쾟E�T� R����Z[��_�t�9_�� �K�G3�P �o�]glߛe���n#f�'5����ӝ��OU�*�/o����_�T��cak�a-�=��ʩ��h����{�����%������x�>6�v;��wY��徣��������u�ˤ ��$������G �P%�u�Kt tB�Q��@�9�wy5��q��*AQF (�R�R� � �� "�"�A��5WET�Ap��Y^-����й�T�ޞGsw ;q��s��_@V�G# U;xw��bƏ6��[),wp�����2[�V����)�+��çS{]\f�2������\�0������������X�ޓ�[��%�V������1 C��g��1��jt���87�0�Z0�� ��tO6p?������}�ﲺ���־>#��Õ�ɪ�}�x��x m����pt��mYg�z���Fd7������v���5>5YIU�]�i!��������\���8fu��]�y�j�ꠐ"Tr��r!u� A�9 T��r�A�a^���s u�)�]@�*(�"�9]Ad8*+���E(�@�@W(�S�,"�/����y����] C�s lH7X��T��2 �e��>��J�ֻS�g�)qv9���%��6�1 ����a_^%?�h�������ت����,����:����j)���?�Y�|� W����7K��{�u='����X^A�M�zf��c�>�5��@-��zjE;�!�2��Ӽk��EN��x4p��׺/3��C�I���Jj�S���O@��\�l��7��ٗFt �EG �t@�]�"�N@�@�A�:��0�.�֢�"��T�耮�0PQ`�F� ���PTB��6���(*����Q�n}�Њ�c����+�Y�s��c���E ��a�n������E����@�{�.f��+:zQ�о'J�/�+U�f���U�gF��')�0Ӽ@�m�7�mMF�,�h\�48U�X�RK�� C�j��2���Z��S��dp�{z��Q�:��]��[�\� ��޻��S!«# �d��UacÕ�d��7����̮�" ^XH���k�>R?��"�]{���=R������m�i�eDR��[�3����a.�n����r:�9�9"9 �����FF7@�P��D ���n�0�Q�S��)s [�+� ��E*)Q1A�_�㰆:͙���K�s�y�+��w/�fj0o�.]F�Jz�M-��wXu�����K�~U�����"��������R��-D1��5����Eb#�{ �xb�u �1��ςP��/��eq��x_�[v_�VI?R�f�u+ZyO��u|�Ը��E'�=����嬑�TǒF� v!t�1b�� k��.�#����Pr(�!@�9"�)�zS�(Ȣ @` p4�*��E*E" F��E-� ��@`�ꨁQJ��0�E4s�a�ׄ��>0�|t�I5;@�ڎ�r��^:y-U;���|�a�a�l;�y�•G_KLȬ@�4\$T� G�I{���x)i�#nV��m��P�'6b�k�ʊ�q�34��ʈ�N�k�� ��b7[�b<���h]�(�DA��nS�Ш�1��o0pg��‚}3 6i9㶀���@�,�q�����{ �L2R9�?!��)쌤J�#�se�tT�E!9��]��k&/�� ����Ӡ����[�V���� K�#x�c'����uت�U �Q\�T �rD!@�@�1�^���n�p�p5�"� PT eY�@�]Eu�D ��(�P�(�E�u�C\� �h�a1H.��Edq�����4�6'^�J��ǖ�S�}��#�U,U/-�aJx̀���zt����HA�ϐj��������� �F�:>�h�揢�ו+���6XϜ;�dU�u$��2xN�:߭�N\�G6e���� �Z`�K.\�����>���38e�#s��Ti�>���3H�7�z� �Ylk p�:��+�#�U���$y�o�\���i0��S_�nGv(�$b�r��l��Ij�� Ĉ��.r~��'�Q��l6�l�uCBW���}#gqe�<"��D%�-�u�u�T�]D%�*� ~���� %`�� � +�� P*�P"�E(@AE(����A&+����k������ۓ�ŭ���O-mS�%�����͆������U+���a:�7'��b�]����/�� xk��'Q�a��6݊TI���7����k�Z�4����9��\�Ӳ��D�Y#��� �wu1�J�� ������^+�����

    Sembra proprio che il browser non riesca a interpretare... probabilmente il problema è in questa maledetta header, ma non riesco a capire come gestirla!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    4
    esiste un comando alternativo a header per passare il parametro del tipo di file?
    oppure esiste un altro metodo di visualizzazione di un codice immagine di questo tipo:

    ����JFIFHH��C     %$$$%((((((((((��C ""$! !$#$"""$#&&$$&&(((((((((((((((������ ��B!1"AQ2aq#B� 3R��br��$��4%Cc���S������� !A1"�� ?�1z^#���%@�JZ��j(�� TQ]��(E@J�����#W�Sbz�Ø��5exߍ�- DϤiu/�i��yv�����~W;Q��1�U���1���ծ�K�qJ�{ ���ƎX���Ń�e��ic��*���AW��m��}�,�1(x�H�����]쾟E�T� R

    Vi prego aiutatemi, sto perdendo la testa... cioè, ottendo il codice immagine e non rieco a trasformarlo in jpeg da visualizzare, è assurdo!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.