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 stripos()函数及注意事项的分析
Jun 08 PHP
php中过滤非法字符的具体实现
Oct 29 PHP
PHP函数in_array()使用详解
Aug 20 PHP
php中spl_autoload详解
Oct 17 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
php实现的农历算法实例
Aug 11 PHP
php表单提交实例讲解
Nov 12 PHP
Symfony2框架创建项目与模板设置实例详解
Mar 17 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
php实现文件预览功能
May 23 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
laravel使用数据库测试注意事项
Apr 10 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
example2.php
2006/10/09 PHP
php 购物车实例(申精)
2009/05/11 PHP
深入HTTP响应状态码速查表的详解
2013/06/07 PHP
php中socket的用法详解
2014/10/24 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
Javascript Math对象
2009/08/13 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
详解Vue双向数据绑定原理解析
2017/09/11 Javascript
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
Python中三元表达式的几种写法介绍
2019/03/04 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
2019年Java面试必问之经典试题
2012/09/12 面试题
高中军训感想800字
2014/02/23 职场文书
春节晚会主持词
2014/03/24 职场文书
工作作风整顿个人剖析材料
2014/10/11 职场文书
中学生检讨书1000字
2014/10/28 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers