>  기사  >  백엔드 개발  >  PHP MVC 프레임워크 skymvc는 여러 파일 업로드 구현 방법을 지원합니다.

PHP MVC 프레임워크 skymvc는 여러 파일 업로드 구현 방법을 지원합니다.

墨辰丷
墨辰丷원래의
2018-06-02 09:56:4210046검색

이 글에서는 주로 다중 파일 업로드 작업을 지원하는 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(&#39;gif&#39;,&#39;jpg&#39;,&#39;bmp&#39;,&#39;png&#39;,&#39;jpeg&#39;,&#39;txt&#39;,&#39;mpeg&#39;,&#39;avi&#39;,&#39;rm&#39;,&#39;rmvb&#39;,&#39;wmv&#39;,&#39;flv&#39;,&#39;mp3&#39;,&#39;wav&#39;,&#39;wma&#39;,&#39;swf&#39;,&#39;doc&#39;,&#39;pdf&#39;,&#39;zip&#39;,&#39;tar&#39;,&#39;svg&#39;);
  $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(&#39;<p class="e">error:&#39;+data.err+&#39;</p>&#39;);
   }else{
    $("#result").append(&#39;<p class="s">success:&#39;+data.filename+&#39;</p>&#39;);
   }
  });
 });
</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(&#39;upimg&#39;, document.getElementById(upid).files[i]);
   var oXHR = new XMLHttpRequest();  
   oXHR.addEventListener(&#39;load&#39;, success, false);
   oXHR.addEventListener(&#39;error&#39;, error, false);
   if(uploadProgress!=undefined){
    oXHR.upload.addEventListener("progress", uploadProgress, false);
   }
   oXHR.open(&#39;POST&#39;,url);
   oXHR.send(vFD);
  
   }
}
 
/*
function uploadFinish(e){
  var data=eval("("+e.target.responseText+")");
  $("#uploading").hide()
  if(data.error != &#39;&#39;)
  {
   skyToast(data.msg);
  }else
  {
   $("#imgShow").html("<img src=&#39;/"+data.imgurl+".100x100.jpg&#39; width=&#39;100&#39;>");
   $("#imgurl").val(data.imgurl);
   }
}
  
function uploadError(e) { // upload error
  skyToast("上传出错了");
}
*/

요약: 위 내용은 이 글의 전체 내용이므로, 모든 분들의 공부에 도움이 되길 바랍니다.

관련 권장 사항:

php 자세한 반영 및 예제 분석

php 플러시 구현이 잘못되었습니다. IIS7에서 php의 실시간 출력 방법

사용 시 주의 사항 PHP 플러시 기능

위 내용은 PHP MVC 프레임워크 skymvc는 여러 파일 업로드 구현 방법을 지원합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.