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 相关文章推荐
怎样才能成为PHP高手?学会“懒惰”的编程
Dec 05 PHP
自动分页的不完整解决方案
Jan 12 PHP
php之对抗Web扫描器的脚本技巧
Oct 01 PHP
基于PHP+Ajax实现表单验证的详解
Jun 25 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
Apr 24 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
May 07 PHP
php CI框架插入一条或多条sql记录示例
Jul 29 PHP
PHP数组排序之sort、asort与ksort用法实例
Sep 08 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
Nov 24 PHP
PHP 文件上传限制问题
Sep 01 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 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
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
[44:01]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS paiN
2018/03/31 DOTA
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
使用grappelli为django admin后台添加模板
2014/11/18 Python
Python PyQt5实现的简易计算器功能示例
2017/08/23 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
python3个性签名设计实现代码
2018/06/19 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
2019/08/07 Python
NumPy中的维度Axis详解
2019/11/26 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
荷兰在线体育用品商店:Avantisport.nl
2018/07/04 全球购物
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
PHP面试题大全
2015/10/16 面试题
实习老师个人总结的自我评价
2013/09/28 职场文书
前台文员岗位职责
2013/12/28 职场文书
拾金不昧表扬信范文
2014/01/11 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
团员个人年度总结
2015/02/26 职场文书
药房管理制度范本
2015/08/06 职场文书
导游词之临安白水涧
2019/11/05 职场文书