Alexander6107, я к примеру загружаю картинку на сайт с название Assassins.Creed.1.2.jpg
А если вдруг кто ни будь загрузить другую картинку с таким же название то эта картинка заменится на новую (так не должно быть)
а скрипт должен сам сгенирировать название из английских букв и цифр и переименовать его на такое название 78f411bdf42a.jpg
что бы не было совпадений
Последний раз редактировалось lotos007; 12.08.2010 в 15:58.
Причина: Добавлено сообщение
Я бы подумал дважды. Если загружается файл с тем же именем - можно к его имени добавлять префикс или суффикс в виде числа+1.
Можно держать БД, и тогда проблема вообще сама отпадает - id с автоинкрементом сама генерирует уникальные значения. А БД понадобится - всегда хорошо знать, сколько было обращений за период времени, чтобы чистить древний и никому не нужный мусор.
А вот у md5 и рандома есть проблема. Во-первых, есть ненулевая вероятность, что два человека в одну секунду сделают запрос, и получат одинаковый рандом - на то он и рандом. Упс, поломалось. Это - мелочь, конечно - при низкой посещаемости шанс невелик. Но есть еще один нюанс - md5 хеш может давать _одинаковый_ результат для _разных_ значений. Поэтому если и юзать такой способ - юзать его с чем-то вроде sha1.
Во-первых, есть ненулевая вероятность, что два человека в одну секунду сделают запрос, и получат одинаковый рандом - на то он и рандом. Это - мелочь, конечно - при низкой посещаемости шанс невелик. Но есть еще один нюанс - md5 хеш может давать _одинаковый_ результат для _разных_ значений. Поэтому если и юзать такой способ - юзать его с чем-то вроде sha1.
Из-за этого там системное время + любое число от 0 до 99999
Если даже в одно время будут загружать, то совподений не будет
А про этот способ можешь написать sha1
Последний раз редактировалось lotos007; 14.08.2010 в 16:58.
Причина: Добавлено сообщение