本文通過執行個體代碼給大家介紹了Yii2.0多檔案上傳執行個體說明,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
建立控制器FormController
<?php namespace frontend\controllers;use Yii;use yii\web\Controller;use frontend\models\Uploadm;use yii\web\UploadedFile;class FormController extends Controller{ public function actionMyfiles(){ $model=new Uploadm(); return $this->renderPartial('myfiles',['model'=>$model]); } public function actionGetfiles(){ $model = new Uploadm(); if (Yii::$app->request->isPost) { $model->imgFile = UploadedFile::getInstances($model, 'imgFile'); if ($model->upload()) { // 檔案上傳成功 echo '上傳成功'; } } }
建立模型Uploadm.php
<?phpnamespace frontend\models;use Yii;use yii\base\Model;use yii\web\UploadedFile;class Uploadm extends Model{ public $imgFile; public function rules(){ return [ [['imgFile'], 'file','maxFiles' => 5],//最多5張 ]; } public function upload() { if ($this->validate()) { foreach ($this->imgFile as $file) { $file->saveAs('uploads/' . $file->baseName . '.' . $file->extension); } return true; } else { return false; } }}
建立視圖/views/form/myfiles.php
<?phpuse yii\helpers\Html;use yii\widgets\ActiveForm;$form = ActiveForm::begin([ 'id' => 'login-form', 'options' => ['class' => 'form-horizontal','enctype' => 'multipart/form-data'], 'action'=>'?r=form/getfiles', 'method'=>'post']) ?> <?= $form->field($model, 'imgFile[]')->fileInput(['multiple' => true]) ?> <p class="form-group"> <p class="col-lg-offset-1 col-lg-11"> <?= Html::submitButton('上傳', ['class' => 'btn btn-primary']) ?> </p> </p><?php ActiveForm::end() ?>
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!