2011-11-07 105 views

回答

5

最好的解決方案是在將圖像插入blob字段的同時將mime類型存儲在數據庫中。否則,你將有以下的圖像檢索每次:

$image = $row['imageblob']; // $row = result row from DB query. 

$finfo = new finfo(FILEINFO_MIME); 
$mime_type = $finfo->buffer($image); 

這得到昂貴繁忙的系統上非常快,所以最好做一次的判定,存儲結果。

相關PHP docs here

+0

THX的幫助馬克 – senzacionale

1

爲什麼不將圖像始終存儲在硬盤上,並在數據庫中存儲基於已知目錄的相對鏈接?

1

下面是一些代碼,我已經習慣了從一個MySQL數據庫

<a href="index.php"><img src="data:image/png;base64,<?php echo base64_encode($MyClass->getLogo())?>" alt="Logo" width="233" height="65" /></a> 

而且getLogo()函數

public function getLogo() 
    { 
     if ($this->getId()) 
      $query = "SELECT `logo` FROM Logos WHERE `logo_id` = '{$this->getId()}' LIMIT 1"; 
     else 
      $query = "SELECT `logo` FROM Logos WHERE `logo_id` = '1' LIMIT 1"; 

     $result = mysql_query($query); 
     if ($result) 
      $row = mysql_fetch_array($result); 
     else 
      return NULL;      

     return ($row['logo']); 
    } 
+0

THX的幫助rogerlsmith得到一個標誌(BLOB) – senzacionale

相關問題