yii2上传整理
来源:互联网 发布:c语言浮点数表示方法 编辑:程序博客网 时间:2024/06/15 19:05
yii2 上传整理
以yii2框架的自带的注册为例
一、单文件上传
1.1.1 视图显示,打开frontend/views/site/signup.php
1.1.2 添加上传文件框 <?= $form->field($model, 'file')->fileInput() ?>
1.2.1 model处理,打开frontend/models/SignupForm.php
1.2.1 定义属性 public $file;
1.2.2 添加规则 ['file', 'file','extensions'=>'jpg,png','maxFiles'=>3],
还可以添加很多限制 更多规则看yii2手册:http://www.yiichina.com/doc/api/2.0/yii-validators-filtervalidator
1.3.1 控制器处理,打开frontend/controllers/SiteController.php
1.3.2 文件最上边写命名空间 use yii\web\UploadedFile;
1.3.3 这里就到最要的部分了
1.3.4 创建上传文件要放的文件夹
if(!is_dir("upload/")){
mkdir("upload/");
}
文件夹创建到了frontend\web\下
1.3.5 接收文件 $file = UploadedFile::getInstances($model,"file");
1.3.6 $file->saveAs("upload/"."file_".time()."_".rand(1111,9999).".".$file->extension); 保存文件到指定目录
这时候去执行你就会发现上传成功,文件已经移动到文件夹并且是制定的文件名格式
OK 单文件上传成功
二 、 多文件处理
2.1.1 单文件上传好好看的话多文件处理一看就懂 在这就不说这么详细了,直接上代码
2.1.2 视图显示,打开frontend/views/site/signup.php
2.1.3 添加上传文件框 <?= $form->field($model, 'file[]')->fileInput(['multiple'=>true]) ?>
2.1.4 循环添加到本地
foreach ($file as $file) {
$file->saveAs("upload/"."file_".time()."_".rand(1111,9999).".".$file->extension);
}
三、入库
3.1.1 DAO模式入库到另外一张表,并且存入User表里的ID
3.1.2 入库代码,下面上截图详细解说
foreach ($file as $file) {
$file->saveAs("upload/"."file_".time()."_".rand(1111,9999).".".$file->extension);
$files['file'] = "upload/"."file_".time()."_".rand(1111,9999).".".$file->extension;
$files['uid']=$user['id'];
Yii::$app->db->createCommand()->insert('file',$files)->execute();
}
ok 多个文件上传成功并且路径入库
想追原理的可以每一步都打印一下
- yii2上传整理
- Yii2上传文件
- yii2文件上传
- Yii2.0 上传图片
- Yii2.0文件上传
- YII2 CURL 上传
- yii2.0上传
- yii2 upload(上传)
- yii2的文件上传
- yii2文件上传
- yii2.0 文件上传
- yii2图片上传
- yii2图片上传
- yii2文件上传
- yii2自带上传
- yii2 文件上传
- Yii2::上传图片
- yii2 文件上传
- 图论总结(9)网络流问题
- 第四课 511遇见易语言大漠后台模式判断
- Java8新特性
- 删除公共字符
- (九)Spring Boot将程序打成可执行jar包,并将配置文件从jar包中分离出来
- yii2上传整理
- Luogu 2024(带权并查集)
- 在线pdf转word文件网站
- 剑指Offer—37—数字在排序数组中出现的次数
- Collections.sort的两种用法
- Android之SharedPreferences存储
- io流读写文件(文件内容修改)
- Java中常见状态码的含义
- Java随想