Генерить уникальное имя файла в опр. каталоге

SLIMkaa

Новичок
PHP:
     $uploaddir = '../uploads/';
     $uid=mt_rand(10000000,9999999999);
     while (file_exists($uploaddir . $uid)) $uid=mt_rand(10000000,9999999999);
Народ а такой вариант покатит ?
 
triumvirat
что плохого если файл сразу будет создан?

-~{}~ 14.08.07 15:56:

очевидно это сделано в целях предотвращения коллизий
 

Духовность™

Продвинутый новичок
mishco
а что хорошего?

функция создаёт файл. А нужно всего навсего генерить уникальное имя.
 

Alexandre

PHPПенсионер
я генерил уникальное имя следующим алгоритмом

генерится рандом случайный символ (либо цифра )
так 8 или сколько нужно раз (по колву символов)
далее сдвиг на случайное кол-во позиций (1-10)

это применялось для капчи, например код Js67-3K4s
 
triumvirat
а ЧТО ПЛОХОГО? так или иначе он создаст файл, нафег имя файла если файла он не создаст? что плохого если в случае чего он сделает unlink? а вот что хорошего в том если два скрипта сгенерируют одинаковое "уникальное" имя файла потому что будут думать что такое имя еще не знанято?
 

ustas

Элекомист №1
Автор оригинала: mishco
а вот что хорошего в том если два скрипта сгенерируют одинаковое "уникальное" имя файла потому что будут думать что такое имя еще не знанято?
дак проверить можно. и создать новый, или без проверки писать будешь?.
 

Sokil.Dmytro

Новичок
а если имена файлов есть алиасы в базе данных? нафик тогда файл. а имя файла надобно для чпу :)

хотя атбой! у чела file_exists в примере. юзай тмпнаме
 

dark-demon

d(^-^)b
>а если имена файлов есть алиасы в базе данных?

это уже не имена файлов
 

cDLEON

Онанист РНРСlub
между проверкой и созданием время тикает, или нет?
Процессор не может заниматься сразу несколькими действиями. Поэтому ваш вопрос, мне кажется,снимается.
 
Сверху