На сайте планируется добавление условных статей пользователями. Каждый может загружать изображения через ajax, в чём и заключается некоторая загвоздка.
Первое:
В любой момент он может загрузить картинку, а затем тут же её убрать. Следовательно она навсегда останется нигде неиспользуемая. Как контролировать подобные действия?
У меня возникла идея хранить в
mongoDB данные о каждом изображении, (путь, к какой оно статье и т.д.) а когда человек сохраняет изменения статьи, проверять, какие изображения используются в ней, а все остальные, принадлежащие к этой статье, но неиспользуемые, находить в mongoDB и удалять через цикл, насколько это оправдано?
Второе:
Я так до конца и не понял, как
правильно хранить изображения на сервере.
Недолго думая у меня получилось следующее:
$path = md5($handle->file_src_name.substr(time(), 3)); // Хэш названия — md5(имя картинки + текущее время)
$handle->file_new_name_body = substr($path, 4); // имя изображения берём с 5-го символа
$handle->Process('files/images/t/'.substr($path, 0,1).'/'.substr($path, 1, 1).'/'.substr($path, 2, 2)); // путь сохранения изображения
Что неверно в данном подходе?
В общем:
- Как контролировать изображения на сервере, чтобы не накапливались ненужные?
- Какой способ хранения изображений самый рациональный, если не сказать правильный; как раскидывать файлы по каталогам?