簡體   English   中英

無法顯示PHP中數據庫中的圖像

[英]Cannot display Image from database in php

我正在使用smarty,mysql,而我只是試圖顯示圖像。 這是我得到的錯誤-

資源被解釋為圖像,但以MIME類型text / html傳輸

我的index.php文件

<img src="http://localhost/admin/image2.php?id={$editWine[0].id}" width="150" height="260" border="0" class="bottle-img" id="smallImageWineEdit" />

我的image2.php文件

$id=$_REQUEST['id'];        
$sql="SELECT * FROM table WHERE id=$id";        
$result=mysql_query($sql) or die(mysql_error());
while($row=@mysql_fetch_assoc($result))
{
   echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['image_data'] ).'" width="150" height="150" /> &nbsp';  
   echo $row['image_data'];                     
}

while循環內的此回聲工作正常。

當我檢查元素並在新選項卡中打開此img鏈接時,將顯示圖像。 而它不會顯示在當前頁面中。

問題是您再次從圖像文件傳遞了html標簽。 您只需要輸出具有適當圖像內容類型的圖像數據即可。

像編輯image2.php

if($row=@mysql_fetch_assoc($result))
{
   header('Content-type: image/jpg');
   echo $row['image_data'];
   exit();                   
}

更新至以下評論

進行以上更改,並在瀏覽器中請求http://localhost/admin/image2.php?id=VALID_ID_HERE並檢查其是否重新調整了圖像。 然后,可以在index.php的src標記中使用它以在此處顯示它。 如果在渲染圖像時遇到錯誤,請在請求圖像時確保在數據庫中請求正確的圖像ID,並使用所看到的錯誤消息更新問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM