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 相关文章推荐
BBS(php &amp; mysql)完整版(五)
Oct 09 PHP
浅析PHP递归函数返回值使用方法
Feb 18 PHP
PHP数据过滤的方法
Oct 30 PHP
PHP将字符分解为多个字符串的方法
Nov 22 PHP
PHP连接操作access数据库实例
Mar 30 PHP
php 实现301重定向跳转实例代码
Jul 18 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
Django中通过定时任务触发页面静态化的处理方式
Aug 29 PHP
PHP删除数组中特定元素的两种方法
Feb 28 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 PHP
YII2框架中actions的作用与使用方法示例
Mar 13 PHP
WordPress免插件实现面包屑导航的示例代码
Aug 20 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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
中国的第一台收音机
2021/03/01 无线电
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
javascript 节点遍历函数
2010/03/28 Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
2011/12/01 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
python中cPickle类使用方法详解
2018/08/27 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
pytorch构建多模型实例
2020/01/15 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
Python打印不合法的文件名
2020/07/31 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
Ruby如何定义一个类
2012/10/08 面试题
医大实习自我鉴定
2013/12/07 职场文书