显示存储在 MySQL 数据库中的 BLOB 图像
在这个编程问题中,我们遇到了显示上传到“的最后 5 张图像”的挑战。将“存储”表存储在 MySQL 中。作为 PHP 和数据库管理方面的新手,提问者表示很难实现解决方案。
为了解决这个问题,我们可以深入研究所提供的代码,并提供一个检索并显示所需图像的解决方案。
数据库连接和图像存储
PHP 脚本启动数据库连接并将图像存储在“store”表中。 $image 变量包含上传图像的二进制表示,该图像保存在数据库中的 BLOB 字段中。
$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); if (!$insert = mysql_query("INSERT INTO store VALUES ('', '$image_name', '$image')")) echo "Problem Uploading Image.";
图像检索和显示
到检索并显示图像,使用单独的 PHP 脚本 (get.php)。此脚本接受代表数据库中图像 ID 的参数 (id)。
$id = addslashes($_REQUEST['id']); $image = mysql_query("SELECT * FROM store WHERE id=$id"); $image = mysql_fetch_assoc($image); $image = $image['image'];
然后对检索到的图像 ($image) 进行编码并显示为 HTML 标记中的图像。
header("Content-type: image/jpeg"); echo $image;
显示最后 5 张图片的解决方案
要显示最后 5 张上传的图片,我们可以实现以下逻辑:
<code class="php">$sql = "SELECT image FROM `store` ORDER BY id DESC LIMIT 5"; $result = mysqli_query($db, $sql); while ($arraySomething = mysqli_fetch_array($result)) { echo "<img src='php/imgView.php?imgId=" . $arraySomething . "' />"; }</code>
此代码检索二进制文件按时间倒序表示“store”表中的最后 5 个图像。每个图像的二进制数据 ($arraySomething) 都会传递到 imgView.php 脚本,以便使用 HTML img 标签中的 src 属性进行渲染。
通过实施此解决方案,用户可以有效地在图库或中显示最后 5 个上传的图像任何想要的格式。
以上是我们如何使用 PHP 检索并显示以 BLOB 形式存储在 MySQL'store”表中的最后 5 个上传的图像?的详细内容。更多信息请关注PHP中文网其他相关文章!