PHP MVC框架skymvc支持多文件上传

5年以前  |  阅读数:940 次  |  编程语言:PHP 

本文实例为大家分享了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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例