2012-08-16 17 views
-1

我使用PHP和MYSQL,並希望添加一個功能來上傳配置文件圖像。我想要顯示一個默認圖像,如果用戶沒有上傳他的imageyet。我已經將數據庫的配置文件圖像字段聲明爲BLOB。在這種情況下,我無法直接通過數據庫直接放置默認圖像。請幫忙 !!如何將每個用戶的默認圖像放入我的表格中?

回答

3

在你的代碼中處理它。無需將同一圖像複製到每個用戶的數據庫字段中。

if (!$user['image']) { 
    // output default image 
} else { 
    // output $user['image'] 
} 

實際上,您應該將圖像存儲在數據庫之外以開始。

2

而不是存儲可能數千次/數百萬次的同一個blob映像,讓您的PHP代碼做一些檢查 - 如果該字段爲空,則將其指向文件系統中某個用於它們的位置的文件。如果中有數據,則將使用用戶行數據中的圖像。

在那個筆記,你實際上CANNOT assign a default價值blob。

可以但是,請執行以下操作:在數據庫中創建第二個表並將blob插入到其中。然後創建您正在使用的表的on insert觸發器,插入完成後,使用這樣的:

UPDATE BLOB_table SET BLOB_field = (select defaultBlob from othertableName); 

不過話說回來,浪費了數百萬潛在斑點行應該會使你畏縮。如果在行中未找到blob,請檢查您的PHP代碼並指定默認值。

0

我在我的應用程序中有一個類似的功能。如果沒有圖像上傳,我將重定向到默認圖像:

if (mysql_num_rows($data) == 0) { 
    header("Location: $default_image_url"); 
} else { 
    // Code to output image 
} 
相關問題