客戶公司的SQLServer2008的一個生產數據庫才1年多就高達18G之巨,原來是系統里面的圖片直接以16進制字符串的形式存儲在數據庫的。要用PHP顯示在html頁面上,我還耗費了不上時間。
<?php // 從數據庫讀出來的:圖片的十六進制形式字符串 $icon_hex = '89504e470d0a1a0a0000000d494844520000001c00000012010300000072c92ca' .'700000006504c5445000000ffffffa5d99fdd0000003f49444154089963603e6f60c000266cce1' .'b1f8010cc07406220c2febcf10724e2ffe7ff7082f90303e76466062061ccc0603999d90048d81' .'b30d809f3400800c0921ea36f9b656d0000000049454e44ae426082'; $imgdata = base64_encode(pack('H*',$icon_hex)); echo '<img src="data:image/png;base64,'. $imgdata .'" />'; ?>
參考資料:http://php.net/manual/en/function.imagecreatefromstring.php base64轉成圖片
注意的一點是:在img標簽顯示時,一定要加文件頭說明:"data:image/png;base64,",這個地方弄了我好久。
以上這篇PHP里面把16進制的圖片數據顯示在html的img標簽上(實現方法)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。