вопрос по загрузке файлов на сервер

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
dennnis
Сообщения: 1
Зарегистрирован: 20 мар 2007, 10:44

фотогалерея
Код загрузки и проверки сущесвования фотки

if (isset($submit)) {

$filename="fotka/".$filename;

if(file_exists($filename)){

$filename=$filename.'_'.rand(0,1000);

}

copy($file, $filename);

}

А что если в каталоге fotki уже существую файлы, например А и А_127
Новый пользователь хочет назвать фотку А и скрипт дописывает _127, ведь такое возможно? Какой механизм корректной загрузки файлов, исключающий подобное, т.е как сгенерировать уникальное имя файла? (Фрагмент кода из кники Д.Колесниченко).
Спасибо.
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

они будут заменены..
После генерации сделай повторную проверку file_exists($filename) или вообще зациклить пока файл не по лучится уникальным
mobius
Сообщения: 157
Зарегистрирован: 25 янв 2005, 18:42
Откуда: Минск
Контактная информация:

Добавь в начало имени файла TimeStamp, что сильно снизить вероятность совпадения имен. И не надо рандомить

То, что ты в конец имени кладёшь, немного не верно, т.как расширение файла теряется.
Всё об отдыхе на http://chugaga.com
Ответить