Yii2.0-多文件上传
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SX0lZa3i-1660296295267)(https://img-blog.csdn.net/20170723161031156?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbTBfMzgwMjczNTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0PVukEaS-1660296295269)(https://img-blog.csdn.net/20170723161058717?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbTBfMzgwMjczNTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Z4eulfX-1660296295270)(https://img-blog.csdn.net/20170723161121852?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbTBfMzgwMjczNTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NvvW5G5x-1660296295270)(https://img-blog.csdn.net/20170723161229157?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbTBfMzgwMjczNTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
创建控制器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() ?>