На моем сайте я разрешаю пользователям загружать изображения продуктов, и каждое изображение продукта будет иметь разные версии разных размеров. Как вы предлагаете мне отслеживать все эти изображения, чтобы я мог легко справляться со вставками и удалениями?
Система, которую я на данный момент кодировал, в основном записывает данные изображения (пути, размеры, дату и т. Д.) В строку БД при загрузке. Имена файлов изображений сгенерированы
md5( microtime() ) . $this->auth->user_id;
// 55bedba35a57c710e73fee21106006b71
и такие пути:
'./img/'.substr($file_name,0,1).'/'.substr($file_name,1,1).'/'.substr($file_name,2,1);
// /img/5/5/b
так что
// /img/5/5/b/55bedba35a57c710e73fee21106006b71.jpg
То есть для каждого «изображения» (исходного изображения). Я до сих пор не знаю, как записывать версии.
Дело в том, что я немного параноидален в отношении целостности, поэтому мысль о том, что каким-то образом изображения удаляются, но при этом сохраняются записи или изображения без записи, беспокоит меня.
Есть ли что-нибудь (библиотека или что-то еще), которое может помочь мне соединить БД - разрыв файловой системы?
Я работаю с CodeIgniter, если это поможет
Заранее спасибо. Пожалуйста, дайте мне знать, если я не имел никакого смысла, хе.
EDIT
Я думаю о том, чтобы сохранить оригинал как блоб в базе данных, а затем сгенерировать варианты и поместить их все в одну папку. Таким образом, я думаю, что может быть проще восстановить все изображения в случае отсутствия изображений и удалить папку, чтобы удалить все файлы при необходимости. Это, вероятно, сделает мой размер БД невыносимым, нет? Что ты думаешь?