yii框架多文件上傳
- //控制器層
- <?php
- namespace app\controllers;
- use app\models\Uploads;
- use Yii;
- use yii\web\Controller;
- use yii\web\UploadedFile;
- class UploadsController extends Controller
- {
- public function actionUpload()
- {
- //實例化數據表
- $model = new Uploads();
- $id = yii::$app->db->createCommand("select id from upload order by id desc limit 1")->queryOne();
- $cid = $id['id'];
- //判斷傳值方式是否為post提交方式
- if (Yii::$app->request->isPost) {
- $model->imageFiles = UploadedFile::getInstances($model, 'imageFiles');
- $model->imageFiles = $model->upload();
- $arr = $model->imageFiles;
- foreach ($arr as $key=>$val){
- yii::$app->db->createCommand("insert into uploads (cid,imageFiles) values ('$cid','$val')")->execute();
- }
- }
- return $this->render('upload', ['model' => $model]);
- }
- }
- //模型層
- <?php
- namespace app\models;
- use yii\db\ActiveRecord;
- class Uploads extends ActiveRecord
- {
- //設定圖片上傳驗證規則 eg:上傳圖片格式&圖片個數等等
- public function rules()
- {
- return [
- [['imageFiles'], 'file', 'skipOnEmpty' => true, 'extensions' => 'png, jpg', 'maxFiles' => 8],
- ];
- }
- public function upload()
- {
- if ($this->validate()) {
- foreach ($this->imageFiles as $file) {
- $file->saveAs('uploads/' . $file->baseName . '.' . $file->extension);
- //實現文件上傳入庫路徑全名
- $arr[] = 'http://www.wechat.com/uploads/' . $file->baseName . '.' . $file->extension;
- }
- return $arr;
- } else {
- return false;
- }
- }
- }
下面是视图层
- <?php
- use yii\widgets\ActiveForm;
- ?>
- <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>
- <?= $form->field($model, 'imageFiles[]')->fileInput(['multiple' => true, 'accept' => 'image/*']) ?>
- <button>Submit</button>
- <?php ActiveForm::end() ?>
yii框架多文件上傳的更多相关文章
- jersey框架实现文件上传
jersey框架是一个开源的RESTful的框架,实现了实现了JAX-RS规范,进一步地简化 RESTful service 和 client 开发.当然而且是必须的,jersey对文件的上传和下载也 ...
- layUI框架中文件上传前后端交互及遇到的相关问题
下面我将讲述一下我在使用layUI框架中文件上传所遇到的问题: 前端jsp页面: <div class="layui-form-item"> <label cla ...
- 使用SpringMVC框架实现文件上传和下载功能
使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...
- node.js使用express框架进行文件上传
关于node.js使用express框架进行文件上传,主要来自于最近对Settings-Sync插件做的研究.目前的研究算是取得的比较好的进展.Settings-Sync中通过快捷键上传文件,其实主要 ...
- 关于我使用spring mvc框架做文件上传时遇到的问题
非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题 ...
- SpringMVC框架06——文件上传与下载
1.文件上传 Spring MVC框架的文件上传是基于commons-fileupload组件的文件上传,只不过Spring MVC框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现. ...
- 笨鸟先飞之Java(一)--使用struts2框架实现文件上传
无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: ...
- 第三百一十九节,Django框架,文件上传
第三百一十九节,Django框架,文件上传 1.自定义上传[推荐] 请求对象.FILES.get()获取上传文件的对象上传对象.name获取上传文件名称上传对象.chunks()获取上传数据包,字节码 ...
- Android(java)学习笔记214:开源框架的文件上传(只能使用Post)
1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...
随机推荐
- Scala基本语法学习笔记
Scala语法与JAVA有很多相似的地方,两者也可以相互调用.但是整体感觉Scala语法等简洁.灵活.这里记录下Scala有特点的地方,以备以后查找方便. 参考: 使用 import: htt ...
- Ueditor 在.net core 中的使用
参考模仿了 https://blog.csdn.net/qq_34220236/article/details/80581811 这篇文章 要注意的是,去ueditor官网下的包,大多不可用. 要自己 ...
- mysql中常见的存储引擎和索引类型
存储引擎 1. 定义 存储引擎说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法.因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类 ...
- Python抓取框架:Scrapy的架构
最近在学Python,同时也在学如何使用python抓取数据,于是就被我发现了这个非常受欢迎的Python抓取框架Scrapy,下面一起学习下Scrapy的架构,便于更好的使用这个工具. 一.概述 下 ...
- c#调api串口通讯
原文:c#调api串口通讯 在调试ICU通信设备的时候,由于串口通信老出现故障,所以就怀疑CF实现的SerialPort类是否有问题,所以最后决定用纯API函数实现串口读写. 先从网上搜索相关代码(关 ...
- 031 二进制1的数量(keep it up, 看到这个问题,刚开始有点蒙)
剑指offer在标题中:http://ac.jobdu.com/problem.php?pid=1513 题目描写叙述: 输入一个整数,输出该数二进制表示中1的个数.当中负数用补码表示. 输入: 输入 ...
- 移花接木:借助 IViewLocationExpander 更换 ASP.NET Core View Component 视图路径
端午节在家将一个 asp.net 项目向 asp.net core 迁移时遇到了一个问题,用 view component 取代 Html.RenderAction 之后,运行时 view compo ...
- WPF自定义窗口最大化显示任务栏
原文:WPF自定义窗口最大化显示任务栏 当我们要自定义WPF窗口样式时,通常是采用设计窗口的属性 WindowStyle="None" ,然后为窗口自定义放大,缩小,关闭按钮的样式 ...
- C# Lambda表达式Contains方法 like
原文:Lambda表达式Contains方法 like 1.使用Contains方法的必备条件: Contains等价于SQL中的like语句.不过Contains只针对于字符串(string)类型的 ...
- Android零基础入门第8节:HelloWorld,我的第一趟旅程出发点
原文:Android零基础入门第8节:HelloWorld,我的第一趟旅程出发点 经过前面几期的学习,我们知道了Android的前世今生,也大致了解了Android的系统架构和应用组件,然后花了几期来 ...