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 相关文章推荐
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
php正则匹配html中带class的div并选取其中内容的方法
Jan 13 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
Jul 06 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 13 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 PHP
Nginx+php配置文件及原理解析
Dec 09 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程序员基本要求和必备技能
2014/05/09 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
js利用div背景,做一个竖线的效果。
2008/11/22 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
javascript框架设计之种子模块
2015/06/23 Javascript
Jquery中request和request.form和request.querystring的区别
2015/11/26 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
微信小程序签到功能
2018/10/31 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
Vue实现随机验证码功能
2020/12/29 Vue.js
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
python版飞机大战代码分享
2018/11/20 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
Pytho爬虫中Requests设置请求头Headers的方法
2020/09/22 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
PHP如何删除一个Cookie值
2012/11/15 面试题
1亿有多大教学反思
2014/05/01 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
会计工作态度自我评价
2015/03/06 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
JavaScript函数柯里化
2021/11/07 Javascript