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获取当前url路径的函数以及服务器变量
Jun 29 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
php使用多个进程同时控制文件读写示例
Feb 28 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
改写ThinkPHP的U方法使其路由下分页正常
Jul 02 PHP
PHP学习笔记(一) 简单了解PHP
Aug 04 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
PHP利用Mysql锁解决高并发的方法
Sep 04 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
Apr 06 PHP
PHP基于ip2long实现IP转换整形
Dec 11 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
5种PHP创建数组的实例代码分享
2014/01/17 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
网页图片延时加载的js代码
2010/04/22 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
在Django框架中运行Python应用全攻略
2015/07/17 Python
Python切换pip安装源的方法详解
2016/11/18 Python
Python之reload流程实例代码解析
2018/01/29 Python
python使用turtle绘制分形树
2018/06/22 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
python3.8下载及安装步骤详解
2020/01/15 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
如何提高MySql的安全性
2014/06/19 面试题
文明青少年标兵事迹材料
2014/01/28 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书
社区党建工作总结2015
2015/05/13 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
HTML中的表单元素介绍
2022/02/28 HTML / CSS
Windows Server 2008配置防火墙策略详解
2022/06/28 Servers