最初我为观众添加了完整的源代码。但它有一些格式问题,并且所有代码都与HTML格式混淆。所以现在我一步一步地问。 1)我将图像文件上传到我的MySQL数据库。 (它没有错误,即成功加载) 2)从MySQL数据库中取回浏览器。它也没问题(在某些情况下) a)如果我在HTML标签之前打印它,则打印正常。 b)在浏览器上打印图像后,我无法看到任何基本的HTML设计。 c)如果我在html标签内打印它。它显示了一些特殊字符和数字,即我们在phpmyadmin中看到的值,如果我们执行查询(从pix中选择图像;)
那么,任何人都可以通过从MySql数据库中获取图像来帮助我打印图像吗? 或者任何人都可以将这个数据库保存的图像从MySQL转换成真实图像存储到硬盘中以查看/编辑它?
答案 0 :(得分:2)
你在这里犯了一个根本性的错误。始终在单独的文件中存储和请求图像资源,而不是在要嵌入其中的页面的HTML源代码中。
这样一个单独的文件可以命名为getimage.php
。
它将从数据库中获取图像数据(例如,从具有ID 890的记录中获取)并输出它,例如,这样:
... code to fetch the image ....
header("Content-type: image/jpeg"); // or image/gif, image/png....
echo $imageData;
在HTML页面中,您将使用
嵌入它<img src="getimage.php?id=890">
理论上可能有image data directly in the HTML source,但这不是你想要的。
答案 1 :(得分:0)
答案很简单:
不要将图像存储在数据库中
将其存储在磁盘上。
它将为您消除所有这些问题。
答案 2 :(得分:-1)
与其他答案一样,最佳解决方案是将图像与html源代码分开。
话虽这么说,如果您绝对要求图片成为页面的一部分,并且没有使用Internet Explorer,则可以将图像嵌入到页面中。
它应该像以下一样简单(例如png):
<img src="data:<?php echo $mimeType ?>;base64,<?php echo chunk_split(base64_encode($imageData)); ?>" />
这仅适用于非IE浏览器(我不确定IE8,因为我目前还没有测试它)。
确保你正确使用mime类型(例如,png的image / png)。