2012-09-11 52 views
1

我正在設計一個頁面,其中包含上傳的每個圖像的不同圖像大小。將圖像參考存儲在數據庫中的最佳做法

For example an image can be: 
original: whatever a user uploads 
large: 718x405 
medium: 344x194 
small: 125x70 
square: 238x238 

在過去,在MySQL中,我剛剛領域稱爲image_id,IMAGE_NAME然後在代碼中我引用這些圖像的位置:

Example from my past: 
/images/gallery/large/some_image.jpg 
/images/gallery/square/some_image.jpg 

我見過其他系統做這樣的事情:

/images/gallery/some_image-718x405.jpg 
/images/gallery/some_image-238x238.jpg 

什麼是從具有自己的表圖像的基本思路創建圖像的數據庫,除了一些最佳實踐。當你處理同一圖像的多種尺寸時,我會問更多。

謝謝!

回答

2

我會去與保存圖像平面文件,並只保留image_id和IMAGE_NAME在分貝。

/images/<image_id>/original 
/images/<image_id>/<width>_<height> 

然後用mod_rewrite和PHP提供你喜歡的任何URL格式的文件。如果需要性能,使用某種緩存(文件,memcache)將image_name與image_id匹配以避免不必要的數據庫連接。

記住,如果你有相同的腳本PHP會話,否則當一個圖像加載所有其它圖像將等待服務的圖像前做session_write_close。

當圖像被刪除,你將只有一個目錄來清除和刪除。

相關問題