我们如何使用 PHP 检索并显示以 BLOB 形式存储在 MySQL'store”表中的最后 5 个上传的图像?

Mary-Kate Olsen
发布: 2024-11-02 07:32:30
原创
506 人浏览过

How can we retrieve and display the last 5 uploaded images stored as BLOBs in a MySQL

显示存储在 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!