Как называть файлы, загруженные пользователем?

Alexxx_2

Новичок
Как называть файлы, загруженные пользователем?

Имеется папка Uploads, куда пользователи загружают файлы.
Другие папки создавать нельзя.
Проблемы:
1) Что будет если 2 пользователя загрузят файлы с одинаковым именем?
2) Если имя генерировать по ID,
а)то как узнать этот ID, ведь он формируется сам автоинкриментом...
б) Как потом заменить имя на настоящее при скачивании файла
 

Фанат

oncle terrible
Команда форума
1. Проверяешь, то файл загружен нормально
2. делаешь запись в базе.
3. получаешь айди
4. перемещаешь темп файл в нужное место, давая ему имя из этого айди.
5. при ошибке перемещения - удаляешь запись из бд
 

Alexxx_2

Новичок
Автор оригинала: Фанат
4. перемещаешь темп файл в нужное место, давая ему имя из этого айди.
Как мне узнать этот ID?
Запоминать к-н фигню в запись а потом селектом искать ее?

б) Как потом заменить имя на настоящее при скачивании файла
 

Фанат

oncle terrible
Команда форума
mysql_insert_id()

в поиск по слову download, отдача файла скриптом. тем - море
 

HuliGun

Новичок
А почему бы просто не добавлять к названию файла time() через тире?
 

Wicked

Новичок
HuliGun
потому что зависимость от времени - не очень хорошо. Вероятность совпадения всегда > 0. А в случае с time(), который имеет секундную точность, и подавно.

Mysql id же исключает эту возможность.
 

SID

ReadOnlyТеаm
если файлы загруженные в директорию uploads будут храниться на постоянной основе, то рекомендую всетаки делать под-директории. большое количесво файлов в одной директории будет обрабатываться медленнее чем если бы все было разложено по своим директориям.

зы. мое имхо
 
Сверху