이 글에서는 주로 다중 파일 업로드 작업을 지원하는 PHP mvc 프레임워크 skymvc 파일 업로드 구현 코드를 자세히 소개합니다. 관심 있는 친구들은 이를 참고할 수 있습니다.
구체적인 내용은 다음과 같습니다
1.
<?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("上传出错了"); } */요약: 위 내용은 이 글의 전체 내용이므로, 모든 분들의 공부에 도움이 되길 바랍니다. 관련 권장 사항:
php 플러시 구현이 잘못되었습니다. IIS7에서 php의 실시간 출력 방법
위 내용은 PHP MVC 프레임워크 skymvc는 여러 파일 업로드 구현 방법을 지원합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!