Я генерирую уникальное имя файла для загруженных файлов со следующим кодом
$date = date( 'U' );
$user = $_SERVER[REMOTE_ADDR];
$filename = md5($date.$user);
Проблема в том, что я хочу использовать это имя файла позже в сценарии, но если сценарию потребуется секунда для запуска, я получу другое имя файла при второй попытке использовать эту переменную.
Например, я использую скрипт загрузки / изменения размера / сохранения изображения. Первой операцией скрипта является копирование и сохранение изображения с измененным размером, которому я использую функцию даты, чтобы назначить уникальное имя. Затем скрипт обрабатывает сохранение и сохраняет всю загрузку и присваивает ему имя. В конце скрипта ($thumb
и $full
- переменные) мне нужно вставить в базу данных MySQL имена файлов, которые я использовал при сохранении закачек.
Проблема в том, что иногда на больших изображениях это занимает больше секунды (или во время процесса, смена секунд), в результате чего в базу данных помещается другое имя файла, а не то, под которым файл действительно сохраняется.
Разве это не хорошая идея использовать этот метод именования?