Мулти Файл аплоадер, ошибка

102
08 июля 2021, 09:00

Имеется такой код.

<form method="post" action="upload-page.php" enctype="multipart/form-data">
  <input name="filesToUpload[]" id="filesToUpload" type="file" multiple="" />
  <input type="submit" name="Stexelnkarnery.">
</form>

Содеримое uploader-page.php

<?php 
if(count($_FILES['uploads']['filesToUpload'])) {
    foreach ($_FILES['uploads']['filesToUpload'] as $file) {

        echo $file;
    }
} ?>

После нажатия на кнопку вылезает ошибка

count(): Parameter must be an array or an object that implements Countable in upload-page.php on line 3

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

Answer 1

Вы вызываете метод count(), который ждет от вас объект или же массив. В вашем случае вы передаете ему null, потому что вы передаете $_FILES['uploads']['filesToUpload'], Если вы задебажите код, то у вас будет так:

var_dump($_FILES['uploads']['filesToUpload']);  // null

Вы передаете null в метод count(). Получается интерпретатор видит это так:

if(count(null)) {
    // do something...
}

Вы создали форму, в которой указали имя input, в которое будет происходить загрузка файлов(момент: должно быть multiple="multiple"):

<input name="filesToUpload[]" id="filesToUpload" type="file" multiple="multiple" />

И ваши файлы будут доступны с суперглобальном массиве $_FILES['filesToUpload'].

Для того чтобы вам вывести имена загруженных файлов можете сделать так:

if ($_FILES['filesToUpload']) {
    foreach ($_FILES['filesToUpload']['name'] as $file) {
        echo $file . "<br>";
    }
}

Для того чтобы сохранить в директорию можете посмотреть данный ответ, я уже рассказывал как это сделать по шагам, ссылка: Как правильно хранить изображения на сервере?

READ ALSO
При использовании $_FILES ошибка с значениями

При использовании $_FILES ошибка с значениями

Не работает функция move_uploaded_file, скорее всего проблема в синтаксисе, можете подсказать, почему код так не работает?

110
laravel-image-optimizer InvalidArgumentException

laravel-image-optimizer InvalidArgumentException

при установке пакета

95
Autoload Composer

Autoload Composer

При переносе проекта с локального компьютера на сервер не работает автозагрузка класса RoutingОшибка :Fatal error: Uncaught Error: Class 'routing\Routing' not found Структура...

98
Подгрузка связей laravel

Подгрузка связей laravel

выполняю запрос на вывод постов выбранного тега

113