Это действительно зависит от того, что ваше приложение делает с этими изображениями. Вот некоторые вещи, которые я узнал из опыта ...
Сколько изображений?
Если мы говорим о тысячах изображений, имейте в виду, что папка с таким количеством файлов, вероятно, недоступна через FTP. Вы можете классифицировать их и поместить их в разные подпапки, если вам нужен доступ к ним.
Классификация может быть сделана несколькими способами ... от размера до нечетных / четных идентификационных номеров. Все зависит от того, сколько вам нужно разделить их.
Это личные изображения? Должны ли они быть общедоступными? Если вы используете только идентификатор в качестве уникального идентификатора, довольно легко угадать и найти другие изображения, так как они, скорее всего, автоинкрементные. В таких случаях вы можете создать более безопасное имя, просто выбрасывая идентификаторы пользователя, временные метки, случайные числа, хэш или любую другую комбинацию ...
Хэширование имен? Вы не получаете никакой дополнительной защиты от этого. Если вы уже используете комбинацию имен, хеширование - это просто дополнительная вещь. Скажем, вы используете [image_id] _ [timestamp] для имен, если вы их хешируете, вы потеряете эту информацию. У вас есть это в вашей базе данных, но также хорошо иметь это в именах файлов. Если по какой-либо причине вам необходимо удалить определенные файлы, было бы легче, если бы вы могли их распознать. И, возвращаясь к количеству изображений, которые у вас могут быть ... могут быть коллизии в MD5. Это означает, что 2 файла получат одно и то же имя (это действительно редко, но это может произойти)
Поскольку это магазин, я полагаю, вам не нужна дополнительная защита имен изображений, но вам может потребоваться дополнительная классификация.
Кстати, в соответствии с вашими пошаговыми инструкциями вы не можете использовать идентификатор изображения для имени файла, потому что вставляете строку в таблицу ПОСЛЕ сохранения изображения.
Если вам нужна дополнительная информация, оставьте комментарий.