Может ли кто-нибудь предложить наилучшую практику генерации уникальных имен файлов для загрузки файлов во избежание дублирования записей?
Заранее спасибо.
Обычно я либо создаю UID, используя функцию uniqid () для имени файла, либо создаю папку с именем имени пользователя, которое загружает файл и оставляет исходное имя файла. Недостатком первого является то, что вам нужно будет сохранить исходное имя файла где-нибудь, чтобы показать пользователю.
Эта функция может помочь:
http://php.net/manual/en/function.uniqid.php
Вы также можете рассмотреть возможность использования хеша содержимого файлов, например:
Вы можете использовать временную метку unix, когда файл был загружен. Если вы ожидаете одновременного запуска нескольких загрузок, вы можете добавить уникальный идентификатор пользователя или часть исходного имени файла.
Там tempnam
и tmpfile
, если вы хотите создать файлы или этот вопрос .
$ Имя пользователя. $ Метка времени. $ RandomNumber
или вы можете хэшировать это, если вы не хотите, чтобы люди знали подробности о том, когда они были загружены и кем
Что-то вроде:
md5(date('Ymd H:i:s:u'));
Должно работать нормально.