创建控制器FormController<?phpnamespacefrontend\controllers;useYii;useyii\web\Controller;usefrontend\mo
创建控制器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
<?php
namespace 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
<?php
use 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]) ?>
<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<?= Html::submitButton('上传', ['class' => 'btn btn-primary']) ?>
</div>
</div>
<?php ActiveForm::end() ?>
以上所述是小编给大家介绍的Yii2.0多文件上传实例说明,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对脚本之家网站的支持!
Yii2.0-多文件上传