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