2013-09-22 20 views
0

嘿,我在使用php顯示圖像時遇到問題。這些圖像被存儲在mysql中的表格'images'中。還有另一個餐桌需要取出這些圖像並根據restid顯示各自的圖像。但是,它在獲取圖像並不顯示它們時面臨着一個問題。請幫忙! 這是imageupload.php:在php中顯示圖像時出錯mysql mysql

<?php 
require 'connect.inc.php'; 
?> 
<html> 
<head> 
<title>Uploading image</title> 
</head> 
<body> 
<?php 
echo "<form action='imageupload.php' method='POST' enctype='multipart/form-data'> 

Upload: <input type='file' name='image'><input type='submit' value='Upload' > 
</form>"; 

if(isset($_FILES['image']['tmp_name'])) 

{ 
    $image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); 
    $image_name = addslashes($_FILES['image']['name']); 
    $image_size = getimagesize($_FILES['image']['tmp_name']); 
    if($image_size==FALSE) 
     echo "That's not an image"; 
    else 
    { 
     $query = "INSERT INTO images VALUES ('','$image_name','$image','22')"; 
     $result = mysqli_query($con, $query); 

     if(!$result) 
     { 
      echo "Problem uploading"; 

     } 
     else 
     { 
      echo "Image uploaded "; 
      $query2 = "SELECT * FROM images WHERE restid = '22'"; 
      $result2 = mysqli_query($con,$query2); 
      while($info = mysqli_fetch_array($result2)) 
      { 
       header("Content-type: image/jpeg"); 
       echo $info['image']; 
      } 
     } 
    } 
} 
else 
{ 
    "Please upload a file"; 
} 
?> 
</body></html> 

這是getimage.php(它取該圖像,並將其顯示):

<?php 
require 'connect.inc.php'; 
$id = $_REQUEST['id']; 
$image = "SELECT * FROM images WHERE imgid = $id" ; 
$image = mysqli_query($con, $image); 
$image = mysqli_fetch_assoc($image); 
$image = $image['image']; 

header("Content-type: image/jpeg"); 
echo $image; 
?> 

connect.inc.php是連接到數據庫中的文件。我提到其他鏈接,但沒有得到任何堅實的幫助。請提供幫助。

+0

爲什麼你neet改變標題顯示圖像?保存在圖像名稱中的名稱是否正常?爲什麼喲不使用''? –

+0

是的是我試過,但它顯示圖像的加密形式,即以文本形式。 – user2758453

+0

您保存圖像,原始名稱或base64的自定義圖像嗎? –

回答

0

在mysql中存儲圖像應該可以工作。 檢查你沒有任何語法錯誤。 臨時刪除內容類型標題以查看打印的圖像文件(如亂碼字符串)。另外檢查你存儲映像的mysql字段是BLOB類型。 如果您有任何錯誤,請發帖。

+0

當我刪除標題並將圖像存儲爲BLOB類型時,我收到了亂碼語言...錯誤仍然存​​在。 – user2758453

+0

我解決了它。將數據庫中的路徑存儲在映像本身的內部。 – user2758453