[mysql]在 php 中显示图像

标签: MySQL PHP
发布时间: 2017/4/9 21:38:43
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

目前我正在努力显示图像,从创建的数据库,使用 phpmyadmin 来测试我的脚本。该数据库包含在 png 和 jpg 图像。但输出是废话字符只是因为浏览器无法呈现图像。有人能告诉我哪里错了吗?

我谷歌问题是可以看到他们的模式,我的是类似所以我真的不下站到哪儿搞错了。我可以得到的图像在数据库中,但不是图像的名称。

这是我的脚本︰

<html>
<head></head>
<body>

<?php
$con = mysqli_connect("localhost", "Dave", "password");
if (!$con){
    die ("Could not connect to database: " . mysqli_connect_error());
}

mysqli_select_db($con, "snippet");

$res = mysqli_query($con, "select * from image");

echo "<table>";
while ($row = mysqli_fetch_array($res)){
    echo "<tr>";
    echo "<td>"; ?> <img src="<?php echo $row["image"]; ?>" height="100" width="100"> <?php echo "</td>";
    echo "<td>"; echo $row["image_name"]; echo "</td>";
    echo "</tr>";
}
echo "</table>";
?>

</body>
</html>

解决方法 1:

是什么格式你想像作为存储? 原始的字节? 基地-64? 或 URL?

如果它是一个 URL,然后只是使用 src html img 元素的属性。

如果它是基地 64 然后使用

<img src="data:image/jpg;base64,THE BASE 64 code here" />

如果你有原始字节,要么将它们转换为与 PHP 基地 64

$base64segment = base64_encode($data);

或者你可以调用内将导致一个 PHP 脚本,在那里通过发送自定义头信息,后面的字节,在从字节飞上创建图像的 src 属性的自定义 url:

<?php
header('Content-type: image/jpeg');
header('Content-Length: '.strlen($data));
echo $data;
?>

基地-64 基础方法的缺点是数据需要更多的空间比原始的二进制段,因为完成了编码使用 64 个不同星座,而不 256。

官方微信
官方QQ群
31647020