dollar, Если говорить об одном приложении, а не о ситуации где картинками управляет один сервис, а пользуется другой: Не всегда легко "заменить публичную картинку с сайта." посылая картинку, имя которой задублируется с имеющимся файлом.. Программа должна уметь обрабатывать дублирование, в противной случае и коллизий искать не нужно - достаточно послать ту же самую картинку повторно - и что md5_file, что hash_file - будут возвращать уже имеющееся имя файла. Тут все зависит от того, как автор решит обрабатывать случаи дублирования контента. Если решит создавать копию - то следует юзать что-то вроде uniqid, md5 от текущего времени + еще чего-нибудь.. но после всех ухищрений все равно следует прогонять через доп.проверку на существование такого имени. Если существует- повторять попытки раз 5-10 )). Или есть еще вариант: id из своей таблицы с автоинкрементом.
Ну а если для программы допустимо выкинуть пользователю "контент не является уникальным, измените картинку" - то достаточно md5_file.
Ну а если для программы допустимо выкинуть пользователю "контент не является уникальным, измените картинку" - то достаточно md5_file.