PHP讀取sqlserver image類型16進製圖片顯示在img標籤上(實現方法)

客戶公司的SQLServer2008的一個生產數據庫才1年多就高達18G之巨,原來是系統裏面的圖片直接以16進制字符串的形式存儲在數據庫的。要用PHP顯示在html頁面上,我還耗費了不上時間。php

<?php
 
// 從數據庫讀出來的:圖片的十六進制形式字符串
$icon_hex = '89504e470d0a1a0a0000000d494844520000001c00000012010300000072c92ca'
    .'700000006504c5445000000ffffffa5d99fdd0000003f49444154089963603e6f60c000266cce1'
    .'b1f8010cc07406220c2febcf10724e2ffe7ff7082f90303e76466062061ccc0603999d90048d81'
    .'b30d809f3400800c0921ea36f9b656d0000000049454e44ae426082';
$imgdata = base64_encode(pack('H*',$icon_hex));
echo '<img src="data:image/png;base64,'. $imgdata .'" />';
 
?>


注意的一點是:在img標籤顯示時,必定要加文件頭說明:"data:image/png;base64,",這個地方弄了我很久。參考資料:http://php.net/manual/en/function.imagecreatefromstring.php   base64轉成圖片html

相關文章
相關標籤/搜索