PHP MVC框架skymvc支持多文件上传


Posted in PHP onMay 26, 2016

 本文实例为大家分享了skymvc实现文件上传的具体代码,供大家参考,具体内容如下

1.代码upload.ctrl.php    

<?php
class uploadControl extends skymvc{
  
 public function __construct(){
  parent::__construct();
 }
  
 public function onDefault(){
   
  $this->smarty->display("upload/default.html");
 }
  
 public function onUpload(){
   
  $this->loadClass("upload");
  //上传的文件目录
  $this->upload->uploaddir="attach/my/";
  //允许上传的文件大小
  $this->upload->maxsize=4194304000;
  //是否上传图片
  $this->upload->upimg=true;
  //设置允许上传的文件类型
  $this->upload->sysallowtype=array('gif','jpg','bmp','png','jpeg','txt','mpeg','avi','rm','rmvb','wmv','flv','mp3','wav','wma','swf','doc','pdf','zip','tar','svg');
  $this->upload->allowtype=$this->upload->sysallowtype;
  //根据Id存储
  $this->upload->iddir=0;
  $data=$this->upload->uploadfile("upimg");
  //print_r($data);
  echo json_encode($data); 
   
 }
  
  
  
}
 
?>

2.代码upload.html    

<!doctype html>
<html>
{include file="head.html"}
 
<body>
 
{include file="header.html"}
<div class="main-body box960">
 <form method="post" action="/index.php?m=upload&a=upload" enctype="multipart/form-data">
 <div class="row">
  <div class="btn-upload">
   <i class="iconfont icon-upload"></i>
   上传文件
   <div class="btn-upload-file">
    <input type="file" id="upimg" name="upimg" multiple>
    </div>
  </div>
 </div>
 <div style="height:10px;"></div>
 <div class="row">
 <input type="submit" class="btn" value="上传">
 </div>
 </form>
 <h3>上传结果</h3>
 <div class="result" id="result"></div>
</div>
{include file="footer.html"}
<style>
 .result{border:1px solid #ccc; padding:5px;}
 .result div{line-height:24px;}
 .result .e{color:#D58384;}
 .result .s{color:#59A42A;}
</style>
<script src="/static/js/skyupload.js"></script>
<script>
 $(document).on("change","#upimg",function(data){
  skyUpload("upimg","/index.php?m=upload&a=upload&ajax=1",function(e){
   var data=eval("("+e.target.responseText+")");
   if(data.err){
    $("#result").append('<div class="e">error:'+data.err+'</div>');
   }else{
    $("#result").append('<div class="s">success:'+data.filename+'</div>');
   }
  });
 });
</script>
</body>
</html>

3.PHP代码

function skyUpload(upid,url,success,error,uploadProgress)
{
   var vFD = new FormData();
   var f= document.getElementById(upid).files;
   $("#"+upid+"loading").show();
   for(var i=0;i<f.length;i++){ 
   vFD.append('upimg', document.getElementById(upid).files[i]);
   var oXHR = new XMLHttpRequest();  
   oXHR.addEventListener('load', success, false);
   oXHR.addEventListener('error', error, false);
   if(uploadProgress!=undefined){
    oXHR.upload.addEventListener("progress", uploadProgress, false);
   }
   oXHR.open('POST',url);
   oXHR.send(vFD);
  
   }
}
 
/*
function uploadFinish(e){
  var data=eval("("+e.target.responseText+")");
  $("#uploading").hide()
  if(data.error != '')
  {
   skyToast(data.msg);
  }else
  {
   $("#imgShow").html("<img src='/"+data.imgurl+".100x100.jpg' width='100'>");
   $("#imgurl").val(data.imgurl);
   }
}
  
function uploadError(e) { // upload error
  skyToast("上传出错了");
}
*/

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

PHP 相关文章推荐
开源SNS系统-ThinkSNS
May 18 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
Jun 21 PHP
ThinkPHP页面跳转success与error方法概述
Jun 25 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
PHP访问Google Search API的方法
Mar 05 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
Feb 23 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
PHP验证终端类型是否为手机的简单实例
Feb 07 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
TP5框架实现签到功能的方法分析
Apr 05 PHP
CodeIgniter集成smarty的方法详解
May 26 #PHP
PHPExcel简单读取excel文件示例
May 26 #PHP
php快速排序原理与实现方法分析
May 26 #PHP
深入理解PHP中的empty和isset函数
May 26 #PHP
CodeIgniter常用知识点小结
May 26 #PHP
php数组函数array_walk用法示例
May 26 #PHP
PHP发送AT指令实例代码
May 26 #PHP
You might like
PHP利用header跳转失效的解决方法
2014/10/24 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
jquery插件制作 图片走廊 gallery
2012/08/17 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
实例讲解JS中数组Array的操作方法
2014/05/09 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
浅析Javascript ES6中的原生Promise
2016/08/25 Javascript
自制微信公众号一键排版工具
2016/09/22 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
JavaScript Date对象应用实例分享
2017/10/30 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
python远程邮件控制电脑升级版
2019/05/23 Python
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
html5.2 dialog简介详解
2018/02/27 HTML / CSS
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
大学生个人事迹材料
2014/01/21 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
员工升职自荐信
2015/03/27 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
原告代理词范文
2015/05/25 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android
Python利用FlashText算法实现替换字符串
2022/03/31 Python
mysql 获取相邻数据项
2022/05/11 MySQL
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android