Проверка на существование файлов + загрузка новых php

Подскажите пожалуйста, есть папка, в папке есть 3 файла с названиями 0.jpg, 1.jpg, 2.jpg. Я загружаю файлы и переименовую их на порядковый номер. Если в input было выбрано 3 файла то их порядковые номера такие же как и названия файлов в папке. Как я могу обойти эту проблему, и если в папке есть файл 0.jpg и нет файла 1.jpg присвоить имя данному файлу 1.jpg?

$count_files = count($_FILES["files"]['name']);
for ($i = 0; $i < $count_files; $i++) {
   $exists_file = $i.".jpg";
   if (file_exists($exists_file)) {

   } else {

   }
   $name[$i] = $i.".jpg";
   move_uploaded_file($_FILES["files"]["tmp_name"][$i], $_SERVER['DOCUMENT_ROOT']."/files/".$name[$i]);
}

Ответы (1 шт):

Автор решения: ArchDemon
$i = 0;
foreach ($_FILES["files"]["tmp_name"] as $file) {
   $filename = $_SERVER['DOCUMENT_ROOT'] . "/files/" . $i . ".jpg";

   while (file_exists($filename)) {
        $filename = $_SERVER['DOCUMENT_ROOT'] . "/files/" . (++$i) . ".jpg";
   }

   move_uploaded_file($file, $filename);
}

Но я бы так в жизни не стал делать. Время выполнения функции будет зависеть от количества файлов. Генерирование имени файла было бы предпочтительнее. Даже microtime() для имени файла выглядит совершенством

→ Ссылка