我有兩個文件,一個用於上傳圖像,另一個用於從數據庫檢索圖像並將其顯示在網頁上。但是圖像只顯示爲破碎的圖像圖標。我不懂爲什麼。使用PHP顯示來自SQL BLOB的圖像
感謝您提前提供任何幫助。
HTML表單:
<form action="index.php" method="POST" enctype="multipart/form-data">
<label for="image">File:</label>
<input type="file" name="image">
<input type="submit" value="Upload">
</form>
要上傳的PHP(到數據庫的連接下面的冷落,但它完美):
//file stuff
$file= $_FILES['image']['tmp_name'];
if(!isset($file))
echo "Please select an image";
else {
$image=addslashes(file_get_contents($_FILES['image']['tmp_name']));
$imageName=addslashes($_FILES['image']['name']);
$imageSize=getimagesize($_FILES['image']['tmp_name']);
if(!$imageSize)
echo "Thats not an image you mong";
else {
//upload
$query="INSERT INTO store VALUES('','$imageName','$image')";
$sendQuery=mysql_query($query);
if(!$sendQuery)
echo "This is embarressing. It didn't work";
else {
$lastid=mysql_insert_id();
echo "Image was uploaded. <br>Your image:";
echo "<img src=get.php?id=$lastid/>";
}
}
}
的PHP檢索圖像(再次DB連接被排除在下面,但完美的作品):
$id=addslashes($_REQUEST(['id']));
$imageQuery="SELECT * FROM store WHERE id=$id;";
$sendImageQuery=mysql_query($imageQuery);
$image=mysql_fetch_assoc($sendImageQuery);
$image=$image['image'];
header("Content-type: image/jpeg");
echo $image;
我故意遺漏了php標籤和db連接。 – mickzer
試試看看它是否有效。 10次中有9次是問題所在。 – robbmj
在真實文件中,我有php標籤和db連接。我在上面已經指出,這絕對不是問題。 – mickzer