php将图片保存到html中

近日有了将图片和文本一起保存在html的需求,我首先想到的是mht,这是微软的一种格式,能将样式,图片全都保存在网页里,我于是在网上搜索生成mht的方法,搜到了有两种方法,一是用ie保存网页为mht,一个是用html2mht软件生成mht

首先我手写了一个html,引用的是本地图片,用ie打开并保存为mht,结果发现chrome无法打开,生成的mht里面是以file引用图片的,ie能开,chrome因为安全的原因就打不开了,方法否决

我又用那个软件转换了一个mht,好,卡了半天,还是ie能开,chrome还是不能开,用ie再生成mht,chrome仍然不能开,方法否决

我想到mht里图片是以data加某种编码的方式保存的,搜了下发现是base64,于是file_get_contents加base64_encode读取文件并转换了编码,将编码贴到src里,data类型声明了,但图片就是出不来,用字符串拼接了个img标签图片才显示,发现生成的编码不一样,这是为啥?

为了便于复制,我将编码输出到textarea里,复制也挺卡的,最后保存打开,图片正常显示,成功!

需要说一下,图片的格式是

<img src="data:image/jpeg;base64,编码内容">

英文逗号别少了,估计只要用data:image加base64声明就可以显示图片,后面图片格式声明在视觉上应该是影响不大的

另外粘贴到notepad++中挺卡的,窗口大小调整及滑动也不流畅,建议直接php输出标签及编码内容

经过base64编码后的html整个体积约为原文件体积和的1.33倍,没有特殊要求的话还是不太建议使用base64的图片

猜你喜欢

转载自my.oschina.net/u/3470006/blog/1531022
今日推荐