Мой вопрос не о хранении изображений на диске или в БД.
- Изображения будут сохранены на диске
- Путь к изображению и другие данные изображения будут сохранены в базе данных.
- изображениям будет присвоено уникальное имя файла
- Изображения будут сохранены в 3 размерах
- Со временем может быть много изображений, используемых многими пользователями
Мои вопросы:
- Должны ли изображения храниться в одной папке или во многих папках?
Нормально использовать md5 для создания уникальных идентификаторов? Например. md5 (идентификатор + имя файла + 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;
}