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 相关文章推荐
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
Jul 01 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
Windows7下的php环境配置教程
Feb 28 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
PHP统计目录中文件以及目录中目录大小的方法
Jan 09 PHP
PHP生成可点击刷新的验证码简单示例
May 13 PHP
PHP中抽象类和抽象方法概念与用法分析
May 24 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
Dec 02 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
PHP的PDO错误与错误处理
Jan 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新手上路(八)
2006/10/09 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
php编写一个简单的路由类
2011/04/13 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
PHP学习笔记(一) 简单了解PHP
2014/08/04 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
JavaScript 事件记录使用说明
2009/10/20 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
Summernote实现图片上传功能的简单方法
2016/07/11 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
Python字典的核心底层原理讲解
2019/01/24 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
应聘护士自荐信
2013/10/21 职场文书
最新优秀教师个人先进事迹材料
2014/05/06 职场文书
119消防日活动总结
2014/08/29 职场文书
地震捐款倡议书
2014/08/29 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
人事专员岗位职责
2015/02/03 职场文书
项目安全员岗位职责
2015/02/15 职场文书
幼儿园个人总结
2015/02/28 职场文书
个人维稳承诺书
2015/05/04 职场文书
首次购房证明
2015/06/19 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
彻底弄懂Python中的回调函数(callback)
2022/06/25 Python