Страница 1 из 1

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

Добавлено: 20 мар 2007, 10:48
dennnis
фотогалерея
Код загрузки и проверки сущесвования фотки

if (isset($submit)) {

$filename="fotka/".$filename;

if(file_exists($filename)){

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

}

copy($file, $filename);

}

А что если в каталоге fotki уже существую файлы, например А и А_127
Новый пользователь хочет назвать фотку А и скрипт дописывает _127, ведь такое возможно? Какой механизм корректной загрузки файлов, исключающий подобное, т.е как сгенерировать уникальное имя файла? (Фрагмент кода из кники Д.Колесниченко).
Спасибо.

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

Добавлено: 21 мар 2007, 09:21
Duncon
они будут заменены..
После генерации сделай повторную проверку file_exists($filename) или вообще зациклить пока файл не по лучится уникальным

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

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

То, что ты в конец имени кладёшь, немного не верно, т.как расширение файла теряется.