kentuck1213
@kentuck1213

В чём ошибка (Uploading Multiple Files)?

View:
$form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]);
echo $form->field($model, 'fileImage')->fileInput(['multiple' => true, 'accept' => 'image/*']);

Model :
public $fileImage;
    public function rules()
    {
        return [
            [['description_ru', 'description_en'], 'string', 'max' => 255],
            [['fileImage'], 'file', 'maxFiles' => 5, 'skipOnEmpty' => true, 'extensions' => 'png, jpg, jpeg, gif'],
        ];
    }

Controller :
public function actionCreate()
    {
        $model = new Works();
        if ($model->load(Yii::$app->request->post())) {
            if($_FILES){
                echo '<pre>';
                print_r($_FILES);
                die();
            }
            if ($model->save()) {
                return $this->redirect(['view', 'id' => $model->id]);
            }
        } else {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
    }

Выбераю 3 картинки жму create , но в массив показывает одну картинку
Array
(
    [Works] => Array
        (
            [name] => Array
                (
                    [fileImage] => ubuntu_bubbles_linux_93773_1366x768.jpg
                )
            [type] => Array
                (
                    [fileImage] => image/jpeg
                )
            [tmp_name] => Array
                (
                    [fileImage] => /tmp/phpT7u4pN
                )
            [error] => Array
                (
                    [fileImage] => 0
                )
            [size] => Array
                (
                    [fileImage] => 171551
                )
        )
)
  • Вопрос задан
  • 117 просмотров
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
посмотри исходный код формы, может что не так вывелось,

'extensions' => 'png, jpg, jpeg, gif' - не могу сказать точно, но возможно надо указать их и в верхнем регистре, файлы которые загружал не имеют формат .JPG?

В php.ini есть настройка количества одновременно загружаемых файлов. Хотя там редко меньше 5 настроено. Ну и размер там тоже есть, ограниченный, смотри php_info().
Ответ написан
Комментировать
deniamnet
@deniamnet
New Yorker, web developer
Имя инпута должно быть с [] на конце, насколько я знаю. Например, files[]. Тогда каждый файл будет в этом массиве отдельным элементом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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