Задать вопрос
AronTito
@AronTito
разработчик-любитель web приложений и сайтов.

Как загрузить несколько файлов на сервер?

Всем привет, делаю простую загрузку файлов на сервер. И вот беда
php загружает только первые два файла, а остальные нет, и почему понять не могу

<form action="" method="POST" enctype="multipart/form-data">
    <p>Выберите изображения для редактора</p>
    <input name="new-mini[]" type="file" multiple>
    <button>Загрузить</button>
</form>

вот сам php
$dir = 'img/';

for ($i=0; $i<=count($_FILES); $i++) {
	
    $uploadFile = $dir.basename($_FILES['new-mini']['name'][$i]);
    
    if (!empty($img)) {
         if (@copy($_FILES['new-mini']['tmp_name'][$i], $uploadFile)) {
            echo '<p class="ok">Файл успешно загружен на сервер</p>';
         }
         else {
            echo '<p class="error">Ошибка! Не удалось загрузить файл на сервер!</p>';
         }
    }
}

---
0a527b970fe94ceaae409d80cd44563c.PNG
---
Выбираю 8 файлов а загружает только первые два.
  • Вопрос задан
  • 1340 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
count($_FILES) у Вас всегда 1, а следовательно for ($i=0; $i<=count($_FILES); $i++) { должно срабатывать дважды. Так что все верно работает.
Если у ж так городить то
for ($i=0; $i<=count($_FILES); $i++)
меняйте на
for ($i=0; $i<count($_FILES['new-mini']['name']); $i++)
Ответ написан
Комментировать
@karminski
Senior React.JS Developer
1. Для загрузки файлов есть функция move_uploaded_file (php.net/manual/ru/function.move-uploaded-file.php).
2. Нужно больше данных - в чём заключаются ошибки? Что на экране? Что в логах?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы