Проверка на существование файлов + загрузка новых 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() для имени файла выглядит совершенством