本文实例讲述了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程序设计有所帮助。