这篇文章主要为大家展示了“Yii2.0如何实现多文件上传”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“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
<?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如何实现多文件上传”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。