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 相关文章推荐
一个改进的UBB类
Oct 09 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
PHP获取网站域名和地址的代码
Aug 17 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
Nov 01 PHP
zf框架的校验器InArray使用示例
Mar 13 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
详解PHP序列化反序列化的方法
Oct 27 PHP
PHP根据session与cookie用户登录状态操作类的代码
May 13 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
php操作mongodb封装类与用法实例
Sep 01 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扩展函数
2006/10/09 PHP
C# Assembly类访问程序集信息
2009/06/13 PHP
PHP 数组基础知识小结
2010/08/20 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
tagName的使用,留一笔
2006/06/26 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
angularjs 源码解析之scope
2016/08/22 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
vue实现移动端图片上传功能
2019/12/23 Javascript
Python实现Logger打印功能的方法详解
2017/09/01 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python之列表实现栈的工作功能
2019/01/28 Python
如何基于python测量代码运行时间
2019/12/25 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
python绘制汉诺塔
2021/03/01 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
给面试官的感谢信
2014/02/01 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
2015年企业员工工作总结范文
2015/05/21 职场文书
早恋主题班会
2015/08/14 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers