单文件上传(适合新手) [ 2.0 版本 ]
此代码可直接拿过去用,这是一个为新手提供的demo,控制器controller,模型model,视图层view,是都有的.
1、model层
<?php
/*
* 小巫专属编辑
* IT的时代领航 | come on
* Stick to your dream
*/
namespace frontend\models;
use Yii;
use yii\base\Model;
use yii\widgets\ActiveForm;
use yii\helpers\Html;
use yii\web\UploadedFile;
class File extends Model
{
public $imageFiles;
public function rules()
{
return [
['imageFiles','required','message'=>'必须上传一张jpg格式的图片哦!']
];
}
public function attributeLabels() {
return[
'imageFiles'=>'单文件上传'
];
}
public function upload()
{
if ($this->validate()) {
foreach ($this->imageFiles as $file) {
$file->saveAs('uploads/' . $file->baseName . '.' . $file->extension);
}
return true;
} else {
return false;
}
}
}
2、控制器
<?php
/*
* 小巫专属编辑
* IT的时代领航 | come on
* Stick to your dream
*/
namespace frontend\controllers;
use Yii;
use yii\web\Controller;
use frontend\models\File;
use yii\db;
use yii\web\UploadedFile;
class FileController extends Controller
{
public function actionIndex(){
$models=new File();
return $this->render('filee',['models'=>$models]);
}
public function actionAdd(){
$model = new File();
if (Yii::$app->request->isPost) {
$model->imageFiles = UploadedFile::getInstances($model, 'imageFiles');
if ($model->upload()) {
// 文件上传成功
return;
}
}
}
}
3、视图层
<?php
/*
* 小巫专属编辑
* IT的时代领航 | come on
* Stick to your dream
*/
use yii\widgets\ActiveForm;
use yii\helpers\Html;
$form = ActiveForm::begin([
'id' => 'login-form',
'options' =>['enctype' => 'multipart/form-data'],
'action'=>'?r=file/add',
'method'=>'post',
])
?>
<?= $form->field($models, 'imageFiles[]')->fileInput(['multiple' => true, 'accept' => 'image/*']) ?>
<div class="form-group">
<div class="col-lg-offset-1 col-lg-11">
<?= Html::submitButton('提交', ['class' => 'btn btn-primary']) ?>
</div>
</div>
<?php ActiveForm::end() ?>
小巫师 北京
注册时间:2017-06-06
最后登录:2020-07-24
在线时长:15小时56分
最后登录:2020-07-24
在线时长:15小时56分
- 粉丝16
- 金钱1265
- 威望40
- 积分1815
热门源码
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 3 条评论
顶一个 哈哈..
不错不错.哈哈
俺是 新手 希望各位 多多关照