2014-07-07 265 views
1

我在檢索最近保存在數據庫中的圖像時遇到問題。它,而不是顯示這個殘缺的圖像圖標
如何從MySQL中檢索圖像PHP

表單頁面代碼:

<form id "formUpload" action="uploadimage.php" method="POST"enctype="multipart/form-data" target="iframe"> 
<input type="file" name="image" id "image" style="background-color:#000"> 
<br> 
<input type="submit" value="Upload"> 
</form> 

<iframe name ="iframe" width="140" height="216"> 
<img style="min-height: 216; max-width: 140; max-height: 216px;" id="image" /> 
<br /> 
<br /> 
</iframe> 


上傳圖像的代碼(這是在不同的文件):
$ lastid被用來獲得數據庫中最近保存的圖像將顯示在表單頁面上。

include("databaseconnect.php"); 

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

if(!isset($file)) 
{ 
    echo "Select Image File: "; 
} 

else 
{ 
$image = addslashes($_FILES['image']['tmp_name']); 
$image_name = addslashes($_FILES['image']['imageNAME']); 
$image_size = getimagesize($_FILES['image']['tmp_name']); 

if($image_size==FALSE) 
{ 
echo "thats not an image"; 
} 
else 
{ 
if(!$insert = mysql_query("INSERT INTO tblcinema VALUES ('', '', '', '', '', '', '', '', '', '', '$image', '$image_name', '')")) 
{ 
echo "Upload Image Failed"; 
} 

else 
{ 
$lastid = mysql_insert_id(); 
echo "<img src=uploadimage.php?id=$lastid>"; 
} 
} 
} 


顯示圖像到表單頁面代碼(也以不同的文件):

include("databaseconnect.php"); 

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

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

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

echo $image; 


和在數據庫表中,我已經使用的類型BLOB。

請幫我解決這個......儘快!!!
我會非常感激:)

回答

0

首先你需要對上傳的文件移動到特定文件夾 :

`move_uploaded_file(file,location);` 

檢查你在$圖像已完成了必須是圖像文件的路徑,然後 你可以通過它的路徑獲取圖像:

<img style="min-height: 216; max-width: 140; max-height: 216px;" id="image" src="<?php echo $image; ?>" /> 
0

你不是存儲實際圖像(二進制數據)到數據庫中,但tmp_name(串)。使用file_get_contents(),就像這樣:

$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
0

您沒有儲存圖像的任何地方

您需要從臨時文件夾中的圖像文件移動到您的上傳文件夾,存儲路徑圖像數據庫中的

0

先移動上傳的文件,然後按路徑獲取:

if(!isset($file)) 
{ 
    echo "Select Image File: "; 
} 

else 
{ 

    $image = addslashes($_FILES['image']['tmp_name']); 
    $image_name = addslashes($_FILES['image']['imageNAME']); 
    $image_size = getimagesize($_FILES['image']['tmp_name']); 
    $uploaddir = "Directory where files can be store"; 
    $upload_path = $uploaddir.'/'.$image_name; 

    move_uploaded_file($_FILES["image"]["tmp_name"],$upload_path)); 
//other codes goes here 
} 

to get the value of image : 

    <img style="min-height: 216; max-width: 140; max-height: 216px;" id="image" src="folder-path/<?php echo $image; ?>" />