当前位置: 首页 > 面试题库 >

如何显示存储在MySql数据库中的BLOB图像?

农存
2023-03-14
问题内容

我正在尝试显示上传到MySql中“存储”表的最后5张图像。我对PHP和数据库完全陌生,并且我一直在阅读有关如何做到这一点的很多文章,但是没有运气。

我可以一次存储和显示图片,但我希望能够拥有各种各样的画廊来显示最近上传的5张照片。

任何建议或帮助将不胜感激,谢谢!

附言:我知道将图片存储到这样的数据库时不赞成这样做,但是该项目仅用于实践。

index.php

<!DOCTYPE html>
<html>
<head>
<title>Project One</title>
</head>

<body>

<form action="index.php" method="POST" enctype="multipart/form-data">
    File:
    <input type="file" name="image"> <input type="submit" value="Upload">
<form>
<p />

<?php

//connect to database
(connect to server)
(select correct DB)

//file properties
$file = $_FILES['image']['tmp_name'];

if (!isset($file))
    echo "please select an image.";
else
  {
  $image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
  $image_name = $_FILES['image']['name'];
  $image_size = getimagesize($_FILES['image']['tmp_name']);

  if($image_size==FALSE)
    echo "That's not an image.";
  else
  {
    if (!$insert = mysql_query("INSERT INTO store VALUES ('', '$image_name', '$image')"))
        echo "Problem Uploading Image.";
    else
        {

        $lastid = mysql_insert_id();
        echo "Image uploaded. <p />Your image:<p /><img src=get.php?id=$lastid>";

        }
  }
  }

?>

<p />
<p />
<a href="http://WEBSITE.com/gallery.php"> Go to Gallery </a>
</body>

</html>

get.php

<?php

   //connect to database
    (connect to server)
    (select correct DB)

$id = addslashes($_REQUEST['id']);

$image = mysql_query("SELECT * FROM store WHERE id=$id");
$image = mysql_fetch_assoc($image);
$image = $image['image'];

header("Content-type: image/jpeg");

echo $image;

?>

问题答案:

这就是我很久以前想做类似的事情了!= P

$sql = "SELECT image FROM table WHERE cond ORDER BY xxxx DESC LIMIT 5";
$result = mysqli_query($db,$sql);
while($arraySomething = mysqli_fetch_array($result))
{
    echo "<img src='php/imgView.php?imgId=".$arraySomething."' />";
}


 类似资料:
  • 问题内容: 我已经搜索了很多有关此问题的信息,但是我没有针对我的问题找到合适的解决方案,我有以下使用Java存储文件的方法, 当我尝试运行此代码时,出现以下错误, 请帮助我。 问题答案: 将文件数据转换为字节数组并在sql语句中设置

  • 我有一个小程序,它将图片/图像文件作为BLOB存储在MySQL表中。稍后,我需要能够在单独的JFrame中显示此图像(已经得到了这个)。 我目前所做的是:我从MySQL中获取BLOB数据并创建一个本地(临时)文件并将其显示在JFrame中。 有没有办法在不在磁盘上创建本地文件的情况下做到这一点?类似于: 谢谢你的帮助

  • 问题内容: 如何在MySQL数据库中存储和显示图像。到目前为止,我只编写了从用户那里获取图像并将其存储在文件夹中的代码,而到目前为止,我编写的代码是: HTML FILE PHP文件 问题答案: 我找到了答案,对于那些在这里寻找相同事物的人,我是怎么做的。您不应该考虑将图像上传到数据库,而是可以将上传文件的名称存储在数据库中,然后检索文件名,并在要显示图像的任何位置使用它。 HTML代码 PHP代

  • 问题内容: 我试图基于驻留在数据库上的信息创建PDF。知道我需要从Java检索TIFF图像,该图像作为BLOB存储在mysql数据库中。而且我不知道该怎么做。我找到的示例显示了如何检索它并将其另存为文件(但保存在磁盘上),并且需要驻留在内存中。 表格名称:IMAGENES_REGISTROS BLOB字段名称:IMAGEN 有任何想法吗? 问题答案: 在您的通话中: 或者,您可以致电: 正如Bal

  • 问题内容: 使用Java 对象,最简单的方法是将它们存储为MySql 对象(在UTC中)。切换到这种方法将不再起作用,因为MySQL 无法提供存储纳秒的精度。仅将它们截断可能会导致新创建的对象与从数据库读取的对象之间的意外比较结果。 时间戳不适合我作为一个优雅的解决方案:手动编写选择查询变得更加困难,因为必须将时间戳转换到任何地方以使其可读,并且与值甚至值相比,Java的处理有些笨拙。 去这里最好

  • 是否正确?现在,当我尝试从数据库中检索blob数据时,它每次都会更改,为什么?那么如何检索此图像呢?以下是我尝试过的代码: 我没有看到任何图像。为什么?请帮忙。谢谢