Bootstrap+PHP实现多图上传功能实例详解


Posted in PHP onApril 08, 2018

使用bootstrap界面美观,可预览,可拖拽上传,可配合ajax异步或同步上传,下面是效果图:

Bootstrap+PHP实现多图上传功能实例详解

Bootstrap+PHP实现多图上传功能实例详解

前端代码:fileinput.html

<!DOCTYPE html>
<!-- release v4.1.8, copyright 2014 - 2015 Kartik Visweswaran -->
<html lang="en">
 <head>
  <meta charset="UTF-8"/>
  <title>bootstrap多图上传</title>
  <link href="/public/index/fileinput/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet">
  <link href="/public/index/fileinput/css/fileinput.css" rel="external nofollow" media="all" rel="stylesheet" type="text/css" />
  <script src="/public/index/fileinput/js/jquery-2.0.3.min.js"></script>
  <script src="/public/index/fileinput/js/fileinput.js" type="text/javascript"></script>
  <script src="/public/index/fileinput/js/bootstrap.min.js" type="text/javascript"></script>
  <!-- 中文化 -->
  <script src="/public/index/fileinput/js/fileinput_locale_zh.js" type="text/javascript"></script>
 </head>
 <body>
  <div class="container kv-main">   
   <br>
   <form enctype="multipart/form-data">    
    <div class="form-group">
     <!-- 初始化插件 -->
     <input id="file-1" type="file" multiple class="file" data-overwrite-initial="false" data-min-file-count="2" name="images">
    </div>
    
   </form>
  </div>
 </body>
 <script>
 // 初始化filleinput控件 第一次初始化
 function initFileInput(ctrlName, uploadUrl){
  var control = $('#'+ctrlName);
  control.fileinput({
   language: 'zh', //设置语言
   uploadUrl:uploadUrl, //上传的地址
   allowedFileExtensions:['jpg','png'], //接收的文件后缀
   showUpload:true, //是否显示上传按钮
   showCaption:false, //是否显示标题
   maxFileSize: 1000, //图片最大尺寸kb 为0不限制
   maxFilesNum: 3,  //最多上传图片
   overwriteInitial: false,//不覆盖已上传的图片
   browseClass: "btn btn-info", //按钮样式 
   dropZoneEnabled: true,//是否显示拖拽区域
   previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
   msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!",
  });
 }
 //初始化fileinput控件,第一次初始化 (控件id,上传地址)
 initFileInput("file-1", "uploadImg");

 // 监听事件
 $("#file-1").on("fileuploaded", function (event, data, previewId, index) {
  // 上传地址
  console.log(data);
 });
 </script>
</html>

后台代码:

/*
 * bootst多图上传
 */
 public function fileinput()
 {
  return $this->fetch();
 }
 public function uploadImg()
 {
  // var_dump($_FILES);
  // 获取表单上传文件 
  $file = request()->file('images');
  // 移动到框架应用根目录/public/uploads/img 目录下
  $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads/img');
  if($info){
   // 成功上传后 获取上传信息
   $data['response'] = $info->getSaveName();
   return json($data);
   //图片上传成功,以下可对数据库操作
   // ......
  }else{
   // 上传失败获取错误信息
   echo $file->getError();
  }
 }

总结

以上所述是小编给大家介绍的Bootstrap+PHP实现多图上传功能实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
global.php
Dec 09 PHP
php文档更新介绍
Jul 22 PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
浅析get与post的一些特殊情况
Jul 28 PHP
PHP使用Mysql事务实例解析
Sep 08 PHP
PHP实现的比较完善的购物车类
Dec 02 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 PHP
PHP判断密码强度的方法详解
May 26 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 PHP
PHP中非常有用却鲜有人知的函数集锦
Aug 17 PHP
PHP实现的获取文件mimes类型工具类示例
Apr 08 #PHP
PHP面向对象之里氏替换原则简单示例
Apr 08 #PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 #PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
Apr 08 #PHP
PHP实现微信红包金额拆分试玩的算法示例
Apr 07 #PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 #PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 #PHP
You might like
PHP 中的批处理的实现
2007/06/14 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
jquery 笔记 事件
2011/11/02 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
SuperSlide2实现图片滚动特效
2014/06/20 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
详解vue渲染函数render的使用
2017/12/12 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
python 发送get请求接口详解
2020/11/17 Python
html5与css3小应用
2013/04/03 HTML / CSS
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
就职演讲稿范文
2014/05/19 职场文书
教师求职信
2014/06/17 职场文书
车辆转让协议书
2014/09/24 职场文书
校长师德表现自我评价
2015/03/05 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang
Mysql数据库group by原理详解
2022/07/07 MySQL