**已关闭。**此问题为not reproducible or was caused by typos。它目前不接受回答。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
6天前关闭
Improve this question的
所以我试图上传和显示图像和文件与PHP和HTML(这是内部的MySQL数据库(blob)),然而,当我尝试:
<td>
<?php echo $cintia['id']; ?>
</td>
<td>
<?php echo $cintia['nombre']; ?>
</td>
<td>
if(strpos($archivo, 'image') !== false) {
<image src="data:image/jpg;base64,<?php echo base64_encode($cintia['archivo']); ?>"/>
else {
<embed src="data:application/pdf;base64,<?php echo base64_encode($cintia['archivo']); ?>"/>
}
</td>
字符串
它显示了这两者,即使指令;所以我认为它是关于echo的当我插入一个图像或文件时它看起来是什么样子的
x1c 0d1x的数据
我试图改变与回声有关的事情,如果指令,但他们似乎不工作。我还想知道是否有一种方法来显示图像和文件,而不需要专门用<img src="data:image/jpg...>
或<embed src="data:application/pdf...>
编写,因为这更像是一种绝望的方法,而不是一个真实的的解决方案。
我正在使用mysql和longblob来处理文件(但是我真的认为这是关于echo的一些我不理解的东西)
1条答案
按热度按时间daolsyd01#
为什么要在数据库中以base64格式存储图像?
做你想做的事的最好办法是:
1.上传文件时:
1.将文件存储在文件系统中
1.获取存储文件的路径
1.将此PATH存储在数据库中
1.当您要显示图像时
1.查询数据库并获取PATH
1.然后使用自然IMGsrc标记对其进行回显,而不进行任何解码。这样就可以毫无问题地显示文件。
如果您仍然需要/希望在您的基本代码中使用base64,您忘记将PHP if语句 Package 到Tag中。我会说:
字符串