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

我正在尝试显示上传到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."' />";

}

以上是 如何显示存储在MySql数据库中的BLOB图像? 的全部内容, 来源链接: utcz.com/qa/407014.html

回到顶部