我有問題顯示圖像存儲在數據庫中作爲一個blob。我在很多論壇搜索過,但找不到任何答案。不顯示斑點圖像
我把代碼分成兩個文件。在index.php我插入圖像,並嘗試從get_image.php文件加載它。
這裏是index.php文件
<form action="index.php" method="POST" enctype="multipart/form-data">
File:
<input type="file" name="image"> <input type="submit" value="upload">
</form>
<?php
$file = $_FILES['image']['tmp_name'];
if(!isset($file)){
echo "Please select an image.";
}
else{
$image_name = mysql_real_escape_string($_FILES['image']['name']);
$image = mysql_real_escape_string(file_get_contents($_FILES['image']['tmp_name']));
$imageType = mysql_real_escape_string($_FILES['image']['type']);
$image_size = getimagesize($_FILES['image']['tmp_name']);
if($image_size == FALSE){
echo "That's not an image";
}
else{
if (!$insert = mysql_query("UPDATE 'table_name' SET `image` = '$image' WHERE 'row_name' = '$student_id'")){
echo "Problem updating image";
}
else{
echo "<img src=get_image.php>";
}
}
}
?>
而且get_image.php
<?php
$query = mysql_query("SELECT image FROM table_name WHERE student_id = 51686");
while($row= mysql_fetch_assoc($query)){
$imageData = $row['image'];
}
header("Content-type: image/png");
echo $imageData;
?>
誰能幫助請。我的PHP版本是5.2在輸出有圖像圖標,但沒有圖像。如果我右鍵單擊並嘗試將其另存爲圖像,它不是圖像格式,它保存爲get_image.php。所以我不知道是什麼問題。
嘗試更改內容類型爲文本/平原和打開圖像url直接。查找png代碼前面的空格和錯誤消息。 (你有沒有連接你的dbms,並在get_image.php中選擇了一個數據庫?) – urzeit
@urzeit更改爲text/plain沒有差異,沒有得到你,如何打開直接在Blob中的圖像,我從db中獲取它,自動地,png代碼以「?Jw?= wf?yf?y?)?」開始。是的,我連接我的數據庫在get_image.php – Tracker7
從這裏我們可以看到,數據是不是有效的png(它以'\ 211PNG'開頭。所以我們必須看你存儲和加載到你的數據庫。 – urzeit