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