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+dbfile开发小型留言本
Oct 09 PHP
PHP开发中常用的8个小技巧
Aug 27 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
PHP 开发环境配置(Zend Server安装)
Apr 28 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
PHPStrom中实用的功能和快捷键大全
Sep 23 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
PHP二进制与字符串之间的相互转换教程
Oct 14 PHP
利用PHP生成CSV文件简单示例
Dec 21 PHP
Laravel学习教程之路由模块
Aug 18 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 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/03/22 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
php生成短域名函数
2015/03/23 PHP
php表单提交实例讲解
2015/11/12 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
Vue使用v-viewer实现图片预览
2020/10/21 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
[02:05]2014DOTA2西雅图邀请赛 专访啸天mik夫妻档
2014/07/08 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
详解python脚本自动生成需要文件实例代码
2017/02/04 Python
解决python删除文件的权限错误问题
2018/04/24 Python
python3中函数参数的四种简单用法
2018/07/09 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
python3的pip路径在哪
2020/06/23 Python
python GUI计算器的实现
2020/10/09 Python
sort命令的作用和用法
2013/08/25 面试题
如何进行有效的自我评价
2013/09/27 职场文书
网络营销策划方案
2014/06/04 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
神龙架导游词
2015/02/11 职场文书
入党申请书怎么写?
2019/06/21 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript