显示来自 MySQL 数据库的 BLOB 图像
在您的问题中,您表示有兴趣展示上传到 MySQL 数据库表的最后五个 BLOB 图像名为“商店”。作为 PHP 和数据库处理的初学者,这项任务可能看起来令人畏惧。让我们将其分解为可管理的步骤。
在 MySQL 中存储图像
用于在数据库中存储图像的代码似乎可以正常运行。它使用file_get_contents()读取上传文件的二进制数据,并使用addslashes()转义特殊字符。然后,将此数据连同图像名称和大小一起插入到“store”表中。
检索最后五张图像
要检索最后五张上传的图像,您可以使用如下 MySQL 查询:
<code class="sql">SELECT id, image FROM store ORDER BY id DESC LIMIT 5</code>
此查询按 id 列的降序对结果进行排序,有效地获取最后插入的五个图像。
显示图片
要在网页上显示图片,可以使用以下 PHP 代码:
<code class="php">$result = mysqli_query($db, $sql); // Execute the SQL query while ($row = mysqli_fetch_assoc($result)) { // Iterate over the result rows echo "<img src='get.php?id=" . $row['id'] . "' />"; // Display the image using the `get.php` script }</code>
上面的代码使用 while 循环来迭代结果行并为每行显示一个 img 标签。图像的来源设置为 get.php,这是一个单独的 PHP 脚本,负责从数据库中获取实际图像数据。
get.php 脚本
get.php 脚本应如下所示:
<code class="php">$id = addslashes($_GET['id']); // Get the image ID from the URL $image = mysqli_query($db, "SELECT image FROM store WHERE id=$id"); // Fetch the image data $image = mysqli_fetch_assoc($image); // Retrieve the image data as an array header("Content-type: image/jpeg"); // Set the content type for the image echo $image['image']; // Output the binary image data</code>
此脚本获取指定 id 的图像数据,并使用正确的 MIME 类型输出它,从而允许浏览器渲染图像。
结论
按照以下步骤,您可以成功地在 PHP 中显示上传到 MySQL 数据库的最后五张图像的图库。请记住根据表和列名称调整 SQL 查询和 PHP 代码,并考虑优化代码以提高性能,尤其是在处理大型图像文件时。
以上是如何在 PHP 中显示 MySQL 数据库中的最后五个 BLOB 图像?的详细内容。更多信息请关注PHP中文网其他相关文章!