Home > Article > Backend Development > How PHP skymvc framework implements multiple file uploads
This article mainly introduces the PHP mvc framework skymvc file upload implementation code in detail, and supports multiple file upload operations. Interested friends can refer to it. I hope to be helpful.
The example in this article shares the specific code for skymvc to implement file upload for your reference. The specific content is as follows
1. Code 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. Code upload.html
<!doctype html> <html> {include file="head.html"} <body> {include file="header.html"} <p class="main-body box960"> <form method="post" action="/index.php?m=upload&a=upload" enctype="multipart/form-data"> <p class="row"> <p class="btn-upload"> <i class="iconfont icon-upload"></i> 上传文件 <p class="btn-upload-file"> <input type="file" id="upimg" name="upimg" multiple> </p> </p> </p> <p style="height:10px;"></p> <p class="row"> <input type="submit" class="btn" value="上传"> </p> </form> <h3>上传结果</h3> <p class="result" id="result"></p> </p> {include file="footer.html"} <style> .result{border:1px solid #ccc; padding:5px;} .result p{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('<p class="e">error:'+data.err+'</p>'); }else{ $("#result").append('<p class="s">success:'+data.filename+'</p>'); } }); }); </script> </body> </html>
3.PHP code
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("上传出错了"); } */
Related recommendations:
##php skymvc A simple php framework
skymvc website test page test, crawl all pages
skymvc website test mysql data generation
The above is the detailed content of How PHP skymvc framework implements multiple file uploads. For more information, please follow other related articles on the PHP Chinese website!