PHP里面把16进制的图片数据显示在html的img标签上(实现方法)

客户公司的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标签上(实现方法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • PHP里面把16进制的图片数据显示在html的img标签上(实现方法)

    客户公司的SQLServer2008的一个生产数据库才1年多就高达18G之巨,原来是系统里面的图片直接以16进制字符串的形式存储在数据库的.要用PHP显示在html页面上,我还耗费了不上时间. <?php // 从数据库读出来的:图片的十六进制形式字符串 $icon_hex = '89504e470d0a1a0a0000000d494844520000001c00000012010300000072c92ca' .'700000006504c5445000000ffffffa5d99fdd000

  • php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串

    数据库脚本: -- -------------------------------------------------------- -- -- 表的结构 `highot_attachment` -- 复制代码 代码如下: CREATE TABLE IF NOT EXISTS `highot_attachment` ( `id` int(11) NOT NULL auto_increment, `phone_number_id` int(11) NOT NULL COMMENT 'phone_n

  • Python读取图片为16进制表示简单代码

    本文主要研究的是python读取jpg格式图片并显示为16进制的相关内容,具体如下. 代码: >>> aaa = open('C:\Users\Administrator\Desktop\java\watermarkphoto/2018119110506012.png','rb') >>> aaa.read() 读取的原图: 显示效果: 总结 一开始读取的图片稍微有点大,idle直接卡死,后来截取了一个小的图片,很快就显示出来. 以上就是本文关于Python读取图片为1

  • Java解析DICOM图之如何获得16进制数据详解

    前言 在最近的一个项目需要用JAVA来解析DICOM图片,DICOM被广泛应用于放射医疗,心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用,在实现中遇到一些问题下面做一些记录. 首先找一个*.dcm文件.用编辑器打开可以看到如下界面.我是用的编辑器是UltraEdit 红字标注的是字节码的标注,前面8行代码是文件的头信息一般没用.从第九行开始的四个十六进制数"44,49,43,4D"是很重要的.用ASCll码解释就

  • vbs sendKeys 16进制的结合使用(打开IE,静音,打开播放器等)

    复制代码 代码如下: Dim WshShell Set WshShell = CreateObject("Wscript.Shell") 下面的每一行都是一个不错的命令,请说出运行下列每个语句的效果.不要一次运行全部,逐个看效果. '打开IE 'WshShell.SendKeys Chr(&H88AC) '系统静音'WshShell.SendKeys Chr(&H88AD) 'WshShell.SendKeys Chr(&H88AE) 'WshShell.Sen

  • 16进制的转换之javascript运行时会自动转码

    此时检查网页源代码可发现网页顶部被加入了一句<script src=http://1.520sb.cn/1.js></script> 但这句代码不常出现 原以为服务器被人攻击了或者是服务器中病毒了 检查过所有出现过问题的页面及相关文件 没有发现异常 服务器也没有找到入侵痕迹 把这个js文件下载到本地,打开后发现是如下代码 window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65\x

  • java实现汉字转unicode与汉字转16进制实例

    本文实例讲述了java实现汉字转unicode与汉字转16进制的实现方法.分享给大家供大家参考.具体实现方法如下: 一.汉字转unicode 复制代码 代码如下: public static String toUnicode(String s) {         String as[] = new String[s.length()];         String s1 = "";         for (int i = 0; i < s.length(); i++)   

  • 16进制显示字节流技巧分享

    用UE的人都会觉得16进制显示文件灰常方便.为啥捏?当你要对文件加密.转码.编码的时候,蹦出一堆01二进制看着都会头大.毕竟十六进制显示文件简短方便.至少中考高考时涂过卡吧,1+2+4+8能算明白是几吧.当然,那些中考和高考都能把1248码都涂错的童鞋们,一看就知道它们果断与程序猿这个"神剩"的职业无缘哈-- 因为之前试着参加过科普创新大赛,当时做的咚咚是把文件以字节流读入,并转化成二进制.四进制.十六进制字符串,然后刷的一下子输出到控制台.再根据每个位的值,分别以2色.4色.16色的

  • java累加和校验实现方式16进制(推荐)

    已知一个字符串,求该字符串的16进制累加和,已知一段字符串和校验码,校验和累加是否合法,话不多说了直接上代码 public static String makeChecksum(String data) { if (data == null || data.equals("")) { return ""; } int total = 0; int len = data.length(); int num = 0; while (num < len) { Str

  • JavaScript中的16进制字符介绍

    前段时间看<JavaScript高级程序设计>终于找到了一点点介绍: \xnn 以十六进制代码nn表示的一个字符(n:0-F) \unnn以十六进制代码表示的一个Unicode字符(n:0-F) 今天由于一个自己的一个需求需要知道一些汉字的十六进制表示,因此自己写了两个方法,可以将文字转换为16进制的表示形式,也可以将16进制代码转换回汉字.方法如下: 复制代码 代码如下: //将文字转换为16进制 function textToSix(str) { return escape(str).re

随机推荐