關於Yii2.0多檔案上傳的代碼

來源:互聯網
上載者:User
本文通過執行個體代碼給大家介紹了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!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.