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

字號:


    本文實例為大家分享了skymvc實現(xiàn)文件上傳的具體代碼,供大家參考,具體內(nèi)容如下
    1.代碼upload.ctrl.php     
    <?php
    class uploadControl extends skymvc{
     public function __construct(){
      parent::__construct();
     }
     public function onDefault(){
      $this->smarty->display("https://upload.ynpxrz.com/upload/default.html");
     }
     public function onUpload(){
      $this->loadClass("upload");
      //上傳的文件目錄
      $this->upload->uploaddir="attach/my/";
      //允許上傳的文件大小
      $this->upload->maxsize=4194304000;
      //是否上傳圖片
      $this->upload->upimg=true;
      //設(shè)置允許上傳的文件類型
      $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;
      //根據(jù)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>
     <form method="post" action="/index.php?m=upload&a=upload" enctype="multipart/form-data">
     <div>
      <div>
       <i></i>
       上傳文件
       <div>
        <input type="file" id="upimg" name="upimg" multiple>
        </div>
      </div>
     </div>
     <div></div>
     <div>
     <input type="submit" value="上傳">
     </div>
     </form>
     <h3>上傳結(jié)果</h3>
     <div 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>error:'+data.err+'</div>');
       }else{
        $("#result").append('<div>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("上傳出錯了");
    }
    */
    以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)php程序設(shè)計有所幫助。