我的問題不在於將圖像存儲在磁盤或數據庫中。當爲圖庫存儲圖像時,最佳做法是什麼?
- 圖像將被存儲在磁盤上
- 圖像路徑和其它圖像數據將被保存在數據庫中。
- 的圖像將被賦予一個唯一的文件名
- 圖像將被存儲在3種尺寸
- 隨着時間的推移可能會被很多用戶
我的問題,使用的許多圖像是:
- 如果圖像是存儲在一個文件夾或多個文件夾中?
- 可以使用md5創建唯一的ID嗎?例如。 md5(id +文件名+ random_num)
- 圖像應緩存在服務器上還是客戶端瀏覽器/計算機上?
還有什麼我應該考慮的?
解決方案是使用php,apache和mysql。我們使用Uploadify上傳圖片。
一些代碼,我今天使用
/**
* Calculate dir tree for object
* Folders starts from 00 to FF (HEX) and can have just as
* many subfolders (I think :)
* @param $id - User ID
* @param $type - Image category
* @return string
*/
function calculateDirTree($id, $type)
{
$hashUserID = substr(hash('md5', $id), -4);
$parentFolder = substr($hashUserID,0,2);
$subfolder = substr($hashUserID,2);
$basePath = $type."/".$parentFolder.'/'.$subfolder.'/';
return $basePath;
}
你估計你會有多少張圖片?數百?成千上萬?數十萬 ? –
在接下來的幾年裏,我估計大約100k-200k的圖像。 – Steven
您會使用與用戶上傳的文件名相同的文件名嗎?如果您存儲在同一個文件夾中,那麼如果文件名與先前上傳的圖像文件名相同,則可能會替換圖像。 –