Я использую функцию случайных чисел в скрипте PHP при загрузке файлов. Потому что я хотел избежать перезаписи файлов с тем же именем. Итак, при загрузке файла используется зелье скрипта.PHP, генерирующий одно и то же случайное число в одно и то же время (в секундах)
$filename = rand(0,100000).strtolower($_FILES['file']['name']);
$dir="/file/upload/directory/".$filename;
move_uploaded_file($_FILES["user_file"]["tmp_name"], $dir);
В этом приложении ожидается большое количество одновременных пользователей. Таким образом, QA тестирует это приложение с помощью различных автоматизированных инструментов, применяя высокий одновременный визит. Это указывает на то, что случайное число создает одинаковое значение за одни и те же секунды.
Затем мы проверяем случайное число отдельно, это же случайное число в то же время было четко идентифицировано.
В то время как поиск в Интернете какой-либо пост предлагает на mt_rand()
, но все равно он на милли-втором уровне.
Есть ли способ генерации случайного числа во времени независимо от способа в PHP?
randomness НЕ является действительным способом гарантировать уникальные имена файлов. Вы получите очень быстро столкновения из-за парадоксальности дня рождения. –
Вы можете указать дату и установить его как имя файла, поэтому он не будет иметь то же имя для других файлов. – nosthertus
Если вы хотите уникальные имена файлов, используйте 'md5_file()', чтобы получить хэш файла и сделать это имя , Или, по крайней мере, используйте что-то вроде первых 5-10 символов. Скорее всего, вы не столкнетесь с этим. Преимущество этого в том, что если вы нажмете один и тот же хеш для файла, скорее всего, тот же файл. –