Как назначить уникальные имена изображениям?
Я пишу веб-приложение, где пользователи могут загружать изображения. Интересно, как лучше присваивать изображениям уникальные имена? Я думал, что MD5 может быть полезным и достаточным, но так как у каждого изображения есть владелец, должен ли я использовать MD5? Я имею в виду, что может быть достаточно переименовать с Userid + imagename + creationdate?
2 ответа
Ваша база данных дает вам уникальный идентификатор для каждой записи. Хотя есть много разных способов сделать то, что вы хотите, обычно лучше использовать этот идентификатор в качестве префикса / суффикса к имени изображения. Итак, для этих записей:
ID | name
15 image.png
23 image.png
Вы можете отобразить что-то вроде: 15_image.png
, 23_image.png
Нет, этого будет недостаточно, поскольку пользователь может захотеть загрузить несколько изображений с одинаковым именем.
Самое простое решение - использовать порядковый номер с именем изображения. Вы можете быть уверены, что нет другого изображения с таким же именем и никогда не будет. С хэш-функцией всегда очень мала вероятность столкновения.