本文实例讲述了Yii2实现ajax上传图片插件用法。分享给大家供大家参考,具体如下:
这里需要先下载 mdmsoft/yii2-upload-file.插件。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
public function actionCreate() { $model = new DynamicModel([ 'nama' , 'file_id' ]); // behavior untuk upload file $model ->attachBehavior( 'upload' , [ 'class' => 'mdm\upload\UploadBehavior' , 'attribute' => 'file' , 'savedAttribute' => 'file_id' // coresponding with $model->file_id ]); // rule untuk model $model ->addRule( 'nama' , 'string' ) ->addRule( 'file' , 'file' , [ 'extensions' => 'jpg' ]); if ( $model ->load(Yii:: $app ->request->post()) && $model ->validate()) { if ( $model ->saveUploadedFile() !== false) { Yii:: $app ->session->setFlash( 'success' , 'Upload Sukses' ); } } return $this ->render( 'upload' ,[ 'model' => $model ]); } |
Then in view upload.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?php use yii\helpers\Html; use yii\widgets\ActiveForm; /* @var $this yii\web\View */ ?> <div> <?php $form = ActiveForm::begin([ 'options' => [ 'enctype' => 'multipart/form-data' ] ]); ?> <?= $form ->field( $model , 'nama' ); ?> <?= $form ->field( $model , 'file' )->fileInput(); ?> <?php if ( $model ->file_id): ?> <div class = "form-group" > <?= Html::img([ '/file' , 'id' => $model ->file_id]) ?> </div> <?php endif ; ?> <div class = "form-group" > <?= Html::submitButton( 'Submit' , [ 'class' => 'btn btn-primary' ]) ?> </div> <?php ActiveForm:: end (); ?> </div> |
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。