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入门学习笔记之一
Oct 12 PHP
PHP操作数组相关函数
Feb 03 PHP
php 在windows下配置虚拟目录的方法介绍
Jun 26 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
PHP动态柱状图实现方法
Mar 30 PHP
php输出全球各个时区列表的方法
Mar 31 PHP
修改WordPress中文章编辑器的样式的方法详解
Dec 15 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
Oct 22 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
Feb 20 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
js验证模型自我实现的具体方法
2013/06/21 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
js在ie下打开对话窗口的方法小结
2016/10/24 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
autojs 蚂蚁森林能量自动拾取即给指定好友浇水的实现方法
2020/05/03 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
Python写入数据到MP3文件中的方法
2015/07/10 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
详解Python3中的 input() 函数
2020/03/18 Python
pyspark 随机森林的实现
2020/04/24 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
HTML5+CSS3绘制锯齿状的矩形
2016/03/01 HTML / CSS
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
诉前财产保全担保书
2014/05/20 职场文书
三峡人家导游词
2015/01/31 职场文书
2016年优秀班主任先进事迹材料
2016/02/26 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis