Генерация случайного имени файла при загрузке на сервере

Для того чтобы сохранить кудато в папку на сервере файл выбранный пользователем, необходимо указать его имя. Чтобы имена точно не повторялись, можно поступить например так:

Одно Но! тут нет контроля, что пользватель выбрал файл без расширения. Хотя с другой стороны, я например это ограничиваю на уровне выбора файла. Например так: