控制器
//多文件上传 public function actionAdd() { $model = new D3; $file = $model->img = UploadedFile::getInstances($model, 'img'); //处理图片 foreach ($file as $key => $v) { $img[] = $v->name; } //将数组转化为字符串 $img=implode(',',$img); if ($model->upload()) { $data = Yii::$app->db->createCommand()->insert("d3",['img'=>$img])->execute(); if($data) { return $this->redirect(['show']); } } return $this->render('show',['model' => $model]); } //查询 public function actionShow() { $data = Yii::$app->db->createCommand("select * from d3")->queryAll(); foreach ($data as $k => $v) { //将字符串转化为数组 $arr=explode(',', $v['img']); // print_r($arr);die; $data[$k]['img']=$arr; } return $this->render('show',['data'=>$data]); }
model
<?php namespace app\models; use Yii; use yii\base\Model; use yii\web\UploadedFile; class D3 extends Model { public $img; public function rules() { return [ [['img'], 'file', 'extensions' => 'png, jpg', 'maxFiles' => 4], ]; } public function upload() { foreach ($this->img as $file) { $file->saveAs('uploads/' . $file->baseName . '.' . $file->extension); } return true; } }
views
<?php use yii\widgets\ActiveForm; ?> <?php $form = ActiveForm::begin([ 'options' => ['enctype' => 'multipart/form-data'], 'action' => ['d3/add'] ]) ?> <?= $form->field($model, 'img[]')->fileInput(['multiple' => true, 'accept' => 'image/*']) ?> <button>Submit</button> <?php ActiveForm::end() ?>
show
<center> <table> <th>ID</th> <th>图片</th> <?php foreach ($data as $k => $v) {?> <tr> <td><?php echo $v['id']?></td> <?php foreach ($v['img'] as $key => $value) {?> <td><img src="uploads/<?php echo $value;?>" alt="" width="100px"></td> <?php }?> </tr> <?php }?> </table> </center>