簡體   English   中英

在php中顯示數據庫中的圖像

[英]display image from database in php displays partialy

我無法顯示來自MS SQL數據庫的圖像。 我知道這不是最好的方法,但我知道來源。 所以基本上我的問題是我無法顯示整個圖像。 我正在故障排除並且失敗。 當我查看數據庫時,BLOB中的二進制數據如下所示(heidsql):

0x89504E470D0A1A0A0000000D4948445200000258000004B0080600000027A134 ...

但是當選擇數據並以無編碼方式輸出時,我得到了這個:

    �PNG  IHDRX�'�4 sRGB���gAMA���atEXtSoftwareAdobe ImageReadyq�e<���IDATx^�}�Ǒ��V,-�X+i�d1�bfY�f��d�(33C��afft8q�p�\����]R}
���5����>���sW}U�3�iw���H�"E�)R��@D�)R�H�"E��G�LQ|
�U�nݺ   �w���=zdJR��dz��)~�n�X�%}����|
�*Ʊ�s1.e�a\Ǹ�q1��G3�0aLg�a�`�2�0�#=�c��\���c�m�|
�΃�ܟpO¡��   
��)E�%So�C��'Ĕ���fLd�g����#o��3��{����ʪ�:t�� 
>�ƍG���4|�pZ�n͝;��̞M3fL�ذ���wذa�>h��?�����w�^��s}
����9��3��]�ՌٌQ�*F�Κ��x�O��x�}��o�yR���=��)����!
��ݳ�����ɸ��iK�9s&m޲�N9�d:���������s5}�3��O}���/
�^~�e��~� }�+_�.�@�?������}��_g�+��/~Q����g>�i��)��?
H�|�;���=O�<��|�M\�|ڽ{7m߾��-[J�f���ȑ#�4`����~�� 
��ƭ���f���e�cf@�Gz�G��� ���0|
��;O*�R�Q2E��:0ݷ�q��'N��;��ݲ�>����W��U����G�e��eF����

當我嘗試顯示圖像時,它僅顯示圖像的1/4。

這是我的代碼:

$server = "some-server"
$link = mssql_connect($server,'user','password')

if (!$link || !mssql_select_db('database_name', $link)) {
    die('Unable to connect or select database!');
}

$query = "SELECT * FROM tabel_name WHERE id='1'"
$version = mssql_query($query,$link);
$row = mssql_fetch_row($version);

$data = $row[1];
$data64 = base64_encode($data);
echo "<img height='1200' src='data:image/png;base64, ".$data64 ."'/>"

我應該補充一點,正在使用相同的數據,它在.ASP頁上工作並顯示整個圖像,而我的解決方案僅顯示圖像的1/4。 在數據庫中將內容設置為IMAGE

很少有問題清單。

0x89504E4 ...是二進制圖像的十六進制表示形式,看起來很正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM