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 相关文章推荐
实现树状结构的两种方法
Oct 09 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
在smarty模板中使用PHP函数的方法
Apr 23 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
初识laravel5
Mar 02 PHP
php去除头尾空格的2种方法
Mar 16 PHP
php简单实现多字节字符串翻转的方法
Mar 31 PHP
php实现的任意进制互转类分享
Jul 07 PHP
php读取本地json文件的实例
Mar 07 PHP
php微信开发之关注事件
Jun 14 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 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 第二节 数据类型之转换
2012/04/28 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
JavaScript通过正则表达式实现表单验证电话号码
2014/03/07 Javascript
js中利用tagname和id获取元素的方法
2016/01/03 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
2017/04/11 jQuery
详解用node编写自己的cli工具
2017/05/23 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
python实现简单爬虫功能的示例
2016/10/24 Python
Python实现全角半角字符互转的方法
2016/11/28 Python
django项目搭建与Session使用详解
2018/10/10 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Python字典遍历操作实例小结
2019/03/05 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
巴西女装购物网站:Eclectic
2018/04/24 全球购物
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
Kathmandu新西兰官网:新西兰户外运动品牌
2019/07/27 全球购物
优秀求职信范文分享
2014/01/26 职场文书
旷课检讨书1000字
2014/02/14 职场文书
十佳青年事迹材料
2014/08/21 职场文书
财务检查整改报告
2014/11/06 职场文书
清洁工个人工作总结
2015/03/05 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python