1) 上传多张图片时 ,对 $_FILES 的处理. upload ; 2)fileinput 上传多张图片. 3) 修改,删除的时候删除原来的资源,图片 update, delete , 删除 4)生成器中两个字段上传图片的时候,要修改生成器生成的代码
1上传多张图片, 要对 $_FILES进行 重新处理.
- //添加
- public function addCourseAlbumAction()
- {
- $CourseAlbumModel = new CourseAlbumModel();
- $CourseAlbumModel->title = $_REQUEST["title"];
- $CourseAlbumModel->courseId = $_REQUEST["courseId"];
- if(!empty($_FILES))
- {
- $tempArr = $_FILES["url"];
- $imageArr = array();
- foreach ($tempArr as $k => $v)
- {
- foreach ($v as $k2 => $v2)
- {
- $imageArr[$k2][$k] = $v2;
- }
- }
- foreach ($imageArr as $k => $v)
- {
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $v;
- $info = $upload->upload();
- if(count($info)>0){
- $CourseAlbumModel->url = $info["path"];
- }
- $CourseAlbumModel->orderBy = $_REQUEST["orderBy"];
- $CourseAlbumModel->lastUpdateTime = time();
- $CourseAlbumModel->insert();
- }
- echo 1;
- }
- else
- {
- $CourseAlbumModel->orderBy = $_REQUEST["orderBy"];
- $CourseAlbumModel->lastUpdateTime = time();
- echo $CourseAlbumModel->insert();
- }
- }
关键代码:
- $tempArr = $_FILES["url"];
- $imageArr = array();
- foreach ($tempArr as $k => $v)
- {
- foreach ($v as $k2 => $v2)
- {
- $imageArr[$k2][$k] = $v2;
- }
- }
- foreach ($imageArr as $k => $v)
- {
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $v;
- $info = $upload->upload();
- }
处理后的 数组是 $imageArr. 之后 每次上传 就是 $upload->file = $v;
2fileinput 上传多张图片.
- // echo BaseView::getImageHtml(array("name"=> "original","label"=> $_courseAlbum->getFieldDesc("original")));
- // echo BaseView::getHrHtml();
- echo '<fieldset>
- <div class="form-group">
- <label class="col-sm-2 control-label">' . $_courseAlbum->getFieldDesc("original") . ':</label>
- <div class="col-sm-9">
- <input id="original_0" name="original[]" type="file" class="file" multiple="true" />
- </div>
- <script type="text/javascript">
- $("#original_0").fileinput({
- language: "zh",
- showUpload:false,
- browseLabel:"<span style=\'color:#fff;\'>选择'. $_courseAlbum->getFieldDesc("original").'</span>",
- showClose:false,
- maxFileCount: 10
- });
- </script>
- </div>
- </fieldset>';
- echo BaseView::getHrHtml();
1. name="original[]" 这是一个数组.
2.multiple="true" 允许多选.
3. maxFileCount: 10 最大允许10个文件.
php端代码:
- //添加 ---> 上传多张:
- public function addCourseAlbumAction()
- {
- $CourseAlbumModel = new CourseAlbumModel();
- $CourseAlbumModel->title = $_REQUEST["title"];
- $CourseAlbumModel->courseId = $_REQUEST["courseId"];
- // if(!empty($_FILES)){
- // $upload = new BaseUploadUtil();
- // $upload->createPath();
- // $upload->createDatePath();
- // $upload->file = $_FILES["original"];
- // $info = $upload->upload();
- // if(count($info)>0){
- // $CourseAlbumModel->original = $info["path"];
- // }
- // }
- // $CourseAlbumModel->orderBy = $_REQUEST["orderBy"];
- // $CourseAlbumModel->lastUpdateTime = time();
- // echo $CourseAlbumModel->insert();
- if(!empty($_FILES))
- {
- $tempArr = $_FILES["original"];
- $imageArr = array();
- foreach ($tempArr as $k => $v)
- {
- foreach ($v as $k2 => $v2)
- {
- $imageArr[$k2][$k] = $v2;
- }
- }
- foreach ($imageArr as $k => $v)
- {
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $v;
- $info = $upload->upload();
- if(count($info)>0){
- $CourseAlbumModel->original = $info["path"];
- }
- $CourseAlbumModel->orderBy = $_REQUEST["orderBy"];
- $CourseAlbumModel->lastUpdateTime = time();
- $CourseAlbumModel->insert();
- }
- echo 1;
- }
- else
- {
- $CourseAlbumModel->orderBy = $_REQUEST["orderBy"];
- $CourseAlbumModel->lastUpdateTime = time();
- echo $CourseAlbumModel->insert();
- }
- }
3修改,删除的时候删除原来的资源,图片 update, delete
- //修改
- public function updateCourseAction()
- {
- $CourseModel = new CourseModel($_REQUEST["id"]);
- $CourseModel->title = $_REQUEST["title"];
- $CourseModel->userId = $_REQUEST["userId"];
- if(!empty($_FILES['defaultImg'])){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["defaultImg"];
- $info = $upload->upload();
- //删除:
- $this->deleteService($CourseModel->defaultImg);
- if(count($info)>0){
- $CourseModel->defaultImg = $info["path"];
- }
- }
- if(!empty($_FILES['icon'])){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["icon"];
- $info = $upload->upload();
- //删除:
- $this->deleteService($CourseModel->icon);
- if(count($info)>0){
- $CourseModel->icon = $info["path"];
- }
- }
- $CourseModel->remark = isset($_REQUEST["remark"]) ? $_REQUEST["remark"] : "";
- $CourseModel->orderBy = $_REQUEST["orderBy"];
- $CourseModel->numb = $_REQUEST["numb"];
- $CourseModel->theKey = $_REQUEST["theKey"];
- $CourseModel->isOpen = $_REQUEST["isOpen"];
- $CourseModel->lastUpdateTime = time();
- echo $CourseModel->update();
- }
- //删除
- public function deleteCourseAction()
- {
- $ids = $_REQUEST["ids"];
- for($i=0;$i<count($ids);$i++)
- {
- $CourseModel = new CourseModel($ids[$i]);
- if(!$CourseModel->delete())
- {
- echo false;
- return;
- }
- //删除:
- $this->deleteService($CourseModel->defaultImg);
- $this->deleteService($CourseModel->icon);
- }
- echo true;
- }
- //物理删除:
- public function deleteService($address)
- {
- $file = UPLOAD_PATH . $address;
- if (is_file($file)) {
- # code...
- unlink($file);
- }
- }
4生成器中两个字段上传图片的时候,要修改.
下面是生成器生成的:
- //添加
- public function addCourseAction(){
- $CourseModel = new CourseModel();
- $CourseModel->title = $_REQUEST["title"];
- $CourseModel->userId = $_REQUEST["userId"];
- 6 if(!empty($_FILES)){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["defaultImg"];
- $info = $upload->upload();
- if(count($info)>0){
- $CourseModel->defaultImg = $info["path"];
- }
- }
- 16 if(!empty($_FILES)){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["icon"];
- $info = $upload->upload();
- if(count($info)>0){
- $CourseModel->icon = $info["path"];
- }
- }
- $CourseModel->remark = $_REQUEST["remark"];
- $CourseModel->orderBy = $_REQUEST["orderBy"];
- $CourseModel->numb = $_REQUEST["numb"];
- $CourseModel->theKey = $_REQUEST["theKey"];
- $CourseModel->isOpen = $_REQUEST["isOpen"];
- $CourseModel->lastUpdateTime = time();
- echo $CourseModel->insert();
- }
- //修改
- public function updateCourseAction(){
- $CourseModel = new CourseModel($_REQUEST["id"]);
- $CourseModel->title = $_REQUEST["title"];
- $CourseModel->userId = $_REQUEST["userId"];
- 39 if(!empty($_FILES)){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["defaultImg"];
- $info = $upload->upload();
- if(count($info)>0){
- $CourseModel->defaultImg = $info["path"];
- }
- }
- 49 if(!empty($_FILES)){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["icon"];
- $info = $upload->upload();
- if(count($info)>0){
- $CourseModel->icon = $info["path"];
- }
- }
- $CourseModel->remark = isset($_REQUEST["remark"]) ? $_REQUEST["remark"] : "";
- $CourseModel->orderBy = $_REQUEST["orderBy"];
- $CourseModel->numb = $_REQUEST["numb"];
- $CourseModel->theKey = $_REQUEST["theKey"];
- $CourseModel->isOpen = $_REQUEST["isOpen"];
- $CourseModel->lastUpdateTime = time();
- echo $CourseModel->update();
- }
上面 第 6 ,16 ,39 ,49 直接判断 $_FILES 不正确, 这里 的 有两个字段 上传 图片 . defaultImage 和 icon
应该 改为 $_FILES["defaultImage"] 和 $_FILES["icon"] .
如下:
- //添加
- public function addCourseAction()
- {
- $CourseModel = new CourseModel();
- $CourseModel->title = $_REQUEST["title"];
- $CourseModel->userId = $_REQUEST["userId"];
- 7 if(!empty($_FILES["defaultImg"])){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["defaultImg"];
- $info = $upload->upload();
- if(count($info)>0){
- $CourseModel->defaultImg = $info["path"];
- }
- }
- 17 if(!empty($_FILES["icon"])){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["icon"];
- $info = $upload->upload();
- if(count($info)>0){
- $CourseModel->icon = $info["path"];
- }
- }
- $CourseModel->remark = $_REQUEST["remark"];
- $CourseModel->orderBy = $_REQUEST["orderBy"];
- $CourseModel->numb = $_REQUEST["numb"];
- $CourseModel->theKey = $_REQUEST["theKey"];
- $CourseModel->isOpen = $_REQUEST["isOpen"];
- $CourseModel->lastUpdateTime = time();
- echo $CourseModel->insert();
- }
- //修改
- public function updateCourseAction()
- {
- $CourseModel = new CourseModel($_REQUEST["id"]);
- $CourseModel->title = $_REQUEST["title"];
- $CourseModel->userId = $_REQUEST["userId"];
- 42 if(!empty($_FILES['defaultImg'])){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["defaultImg"];
- $info = $upload->upload();
- 49 //删除:
- 50 $this->deleteService($CourseModel->defaultImg);
- if(count($info)>0){
- $CourseModel->defaultImg = $info["path"];
- }
- }
- 56 if(!empty($_FILES['icon'])){
- $upload = new BaseUploadUtil();
- $upload->createPath();
- $upload->createDatePath();
- $upload->file = $_FILES["icon"];
- $info = $upload->upload();
- 63 //删除:
- 64 $this->deleteService($CourseModel->icon);
- if(count($info)>0){
- $CourseModel->icon = $info["path"];
- }
- }
- $CourseModel->remark = isset($_REQUEST["remark"]) ? $_REQUEST["remark"] : "";
- $CourseModel->orderBy = $_REQUEST["orderBy"];
- $CourseModel->numb = $_REQUEST["numb"];
- $CourseModel->theKey = $_REQUEST["theKey"];
- $CourseModel->isOpen = $_REQUEST["isOpen"];
- $CourseModel->lastUpdateTime = time();
- echo $CourseModel->update();
- }
- //删除
- public function deleteCourseAction()
- {
- $ids = $_REQUEST["ids"];
- for($i=0;$i<count($ids);$i++)
- {
- $CourseModel = new CourseModel($ids[$i]);
- if(!$CourseModel->delete())
- {
- echo false;
- return;
- }
- 92 //删除:
- 93 $this->deleteService($CourseModel->defaultImg);
- 94 $this->deleteService($CourseModel->icon);
- }
- echo true;
- }
- //物理删除:
- public function deleteService($address)
- {
- $file = UPLOAD_PATH . $address;
- if (is_file($file)) {
- # code...
- unlink($file);
- }
- }
红色部分是修改的生成器代码:
绿色部分是添加的 物理删除 资源的方法.
1) 上传多张图片时 ,对 $_FILES 的处理. upload ; 2)fileinput 上传多张图片. 3) 修改,删除的时候删除原来的资源,图片 update, delete , 删除 4)生成器中两个字段上传图片的时候,要修改生成器生成的代码的更多相关文章
- sql一个表中两个字段合并求和
sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total from TABLE
- 一条SQL语句查询两表中两个字段
首先描述问题,student表中有字段startID,endID.garde表中的ID需要对应student表中的startID或者student表中的endID才能查出grade表中的name字段, ...
- oracle中的timestamp字段的值乱码问题修改
我的解决方案: 直接新增一个系统变量: key值为:NLS_TIMESTAMP_FORMATvalue的值为:YYYY-MM-DD HH24:MI:SSFF6 其它解决方案: 在登录PLSQL之后,查 ...
- Vue 两个字段联合校验典型例子--修改密码
1.前言 本文是前文<Vue Element-ui表单校验规则,你掌握了哪些?>针对多字段联合校验的典型应用. 在修改密码时,一般需要确认两次密码一致,涉及2个属性字段.类似的涉及 ...
- sql一张表中两个字段指向同一个外键
在项目开发中遇到这么一个例子,首先产品表 tb_product ----------------------------- id name 1 手机 2 电脑 3 笔记本 ...
- MySQL 一张表中两个字段值互换
update table a, table b set a.filed1= b.field2, a.field2= b.field1where a.id = b.id
- SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) 一条语句实现两表同步(添加、删除、修改)
MERGE 目标表 USING 源表 ON 匹配条件 WHEN MATCHED THEN 语句 WHEN NOT MATCHED THEN 语句; http://www.chinaz.com/prog ...
- ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
前言: 从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了 ...
- RENIX报文两个字段嵌套变化——网络测试仪实操
RENIX软件如何实现报文中两个字段嵌套变化,以下为您实操讲解详细步骤. 1.打开Renix软件,连接机框并预约测试端口: 2.创建一条RAW流量(Binding流量也可以,这里用RAW流做例子) 3 ...
随机推荐
- Maximum Questions CodeForces - 900E (字符串,dp)
大意:给定长$n$的字符串$s$, 只含'a','b','?', '?'可以替换为任意字符, 在给定长$t$的字符串, "ababab...", 求替换尽量少的'?', 使得$s$ ...
- JIT编译器技术理解
参考链接: https://blog.csdn.net/liaodehong/article/details/51605457 https://www.cnblogs.com/insistence/p ...
- python-day73--django-分页
''' 批量导入数据:bulk_create Booklist=[] for i in range(100): Booklist.append(Book(title="book"+ ...
- SpringMVC的底层实现
SpringMVC的底层实现流程: SpringMVC的核心是DispatchServlet,它负责接收HTTP的请求和协调SpringMVC中各个组件来完成请求处理的任务,一个请求被截获后,Disp ...
- mongodb副本集修改配置问题
因虚拟机地址被占用,需要重新设置ip地址,这时需要修改副本集中的IP地址配置: 1: 查看配置rs.config():需要找到primary主机,在该主节点服务器上才有权限修改配置 2:rs.remo ...
- Python面向对象之继承
前言: 继承是面向对象的3大特性之一,对于继承一点要注意一下4点. 一.基本查找 如果子类继承了父类,子类的实例化对象,没有的方法和属性会去父类找 class Parent(object): #父类 ...
- Wireshark:No interfaces found解决方法(Windows 10)
启动Wireshark时有时会报“No interfaces found”,找不到网卡进行截包.造成这种情况的原因可能有两个,一是npf服务没启动,二是当前用启对网卡没有拦截权限. 一.npf服务未启 ...
- Oracle常用表和常见操作命令
一.说明 Oracle数据库数据库名.表名.字段名等不区分大小写,字段值区分大小写. Oracle单词之间一般用下划线连接:表名最后一般加s字段名最后一般没s. 二.常见数据表 dba_*DBA拥有的 ...
- ubuntu中更新.netcore到2.1版本
如果需要安装新版本到dotnetcore,需要先卸载旧版本(https://github.com/dotnet/core/blob/master/release-notes/download-arch ...
- laravel的firstOrCreate的作用:先查找表,如果有就输出数据,如果没有就插入数据
public function zan(Post $post){ $param=[ 'user_id'=>\Auth::id(), 'post_id'=>$post->id ] Za ...