Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: Yii, Yii2
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
budwayse
0 / 0 / 1
Регистрация: 11.01.2017
Сообщений: 40
#1

Загрузка изображений и заполнение формы на Yii2

29.08.2017, 01:14. Просмотров 537. Ответов 1
Метки нет (Все метки)

Есть форма и загрузка картинки, только при сохранение ничего не сохраняет не поля не картинку...
Подскажите в чем дело ?

Контроллер
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
namespace app\controllers;
use app\models\Createc;
use app\models\UploadForm;
use yii\helpers\Html;
use Yii;
use yii\web\UploadedFile;
 
class CrudController extends BaseController
{
 
    public function actionForm()
    {
 
        $model = new Createc();
        if ($model->load(Yii::$app->request->post()) AND $model->validate()) {
            $model->ImageFile =UploadedFile::getInstance($model,'imageFile');
            $model->upload();
 
 
            $name = Html::encode($model->name_cat);
            $color = Html::encode($model->color_cat);
            $weight = Html::encode($model->weight_cat);
            $breed = Html::encode($model->breed_cat);
 
            $model->name_cat = $name;
            $model->color_cat = $color;
            $model->weight_cat = $weight;
            $model->breed_cat = $breed;
            $model->save();
 
 
        }
        return $this->render('see', ['model' => $model]);
    }
Модель
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
namespace app\models;
use yii\db\ActiveRecord;
use yii\web\UploadedFile;
 
class Createc extends ActiveRecord
{
    public $imageFile;
 
    public static function tableName()
    {
 
        return "{{cats}}";
    }
 
    public function rules()
    {
        return [
            [['name_cat', 'color_cat', 'weight_cat', 'breed_cat'], 'required'],
            ['name_cat', 'string'],
            ['color_cat', 'string'],
            ['weight_cat', 'double'],
            ['breed_cat', 'string'],
            [['imageFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg'],
        ];
    }
    public function upload()
    {
 
            $this->imageFiles->saveAs('web/image/' . $this->imageFile->baseName . '.' . $this->imageFile->extension);
            return true;
 
    }
}
ВИД
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
 
<?php $form = ActiveForm::begin([
 
    'options' =>['enctype'=>'multipart/form-data']
]); ?>
 
    <?= $form->field($model,'name_cat')->label('Кличка кота') ?>
    <?= $form->field($model,'color_cat')->label('Цвет кота') ?>
    <?= $form->field($model,'weight_cat')->label('Вес кота') ?>
    <?= $form->field($model,'breed_cat')->label('Порода кота') ?>
    <?= $form->field($model, 'imageFile')->fileInput() ?>
 
    <button>Submit</button>
 
<?php ActiveForm::end(); ?>
 
<?php if($model->load(Yii::$app->request->post())) {
    echo "<h1>";
    echo "Котяра добавлен";
    echo "</h1>";
    ?>
    <a href="/view/show">Вернуться назад</a>
<?php }else{
?>
<a href="/view/show">Вернуться назад</a>
<?php } ?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2017, 01:14
Ответы с готовыми решениями:

Загрузка изображений в Yii2 Advanced
Здравствуйте! Помогите, пожалуйста, разобраться с загрузкой файлов....

Загрузка документа в yii2
Всем здравствуйте! Прошу помощи, не могу разобраться, как сделать так, чтобы...

Yii2 две кнопки у формы
Доброго времени суток! Как написать обработчик нескольких кнопок формы Yii2....

Yii2 ajax получение и сохранение данных формы
Не удаётся получить и сохранить данные формы ajax. На стороне js делаю...

Ошибка при установке Yii2-user with Yii2 advanced template
https://github.com/dektrium/yii2-user/blob/master/docs/usage-with-advanced-templ...

1
FloppyDisc
Особый статус
588 / 197 / 152
Регистрация: 18.11.2015
Сообщений: 1,003
29.08.2017, 18:54 #2
Возможно поля не проходят валидацию, проверьте свои правила или:
PHP
1
2
3
4
5
6
if ($model->load(Yii::$app->request->post()) AND $model->validate()) { 
 
return $this->redirect('kuda-nit');
} else {
                    $model->getErrors();
                }
Попробуйте вместо web/image/ использовать алиасы, а так же правильность $model->ImageFile
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2017, 18:54

Простой многостраничный сайт на Yii2 без БД, есть ли быстрый старт для новичка в Yii2?
Привет! Решил смастерить сайт на Yii2, прочел вчера вводный раздел...

Загрузка множества изображений
Помогите пожалуйста, уже почти две недели бьюсь над проблемой. Использую...

Хранение изображений и загрузка изображений
Привет, не когда не работал с изображениями когда их много, и тут возникла...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru