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将网址字符串转换成超链接(网址或email)
May 25 PHP
PHP中调用ASP.NET的WebService的代码
Apr 22 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 PHP
php实现的ping端口函数实例
Nov 12 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
详解YII关联查询
Jan 10 PHP
thinkPHP基于ajax实现的菜单与分页示例
Jul 12 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 PHP
php慢查询日志和错误日志使用详解
Feb 27 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操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
PHP云打印类完整示例
2016/10/15 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
实例解析php的数据类型
2018/10/24 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
Bootstrap select实现下拉框多选效果
2016/12/23 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
微信小程序之页面拦截器的示例代码
2017/09/07 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
2020/12/19 Vue.js
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
python进阶教程之循环相关函数range、enumerate、zip
2014/08/30 Python
Mac中Python 3环境下安装scrapy的方法教程
2017/10/26 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
python线程信号量semaphore使用解析
2019/11/30 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
美国NBA官方商店:NBA Store
2019/04/12 全球购物
数据库笔试题
2013/05/09 面试题
农村婚礼证婚词
2014/01/10 职场文书
20岁生日感言
2014/01/13 职场文书
iPhone13再次曝光
2021/04/15 数码科技
Redis中一个String类型引发的惨案
2021/07/25 Redis