Maison > Article > développement back-end > Le framework PHP MVC skymvc prend en charge plusieurs méthodes d'implémentation de téléchargement de fichiers
Cet article présente principalement en détail le code d'implémentation de téléchargement de fichiers skymvc du framework PHP mvc, qui prend en charge plusieurs opérations de téléchargement de fichiers. Les amis intéressés peuvent s'y référer
Le contenu spécifique est le suivant
. 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. Code 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("上传出错了"); } */
Résumé : ce qui précède est. Nous espérons que l’ensemble du contenu de cet article sera utile à l’étude de chacun.
Recommandations associées :
phpRéflexion détaillée et analyse d'exemples
php Mise en œuvre flush n'est pas valide, php méthode de sortie en temps réel sous IIS7
Remarques sur l'utilisation de la fonction PHP flush
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!