Thinkphp 프레임 워 크+Layui 이미지/파일 업로드 기능 분석 실현
프로젝트 에 사용 되 었 고 인터넷 에서 기 존 코드 를 찾 았 는데 모두 핑계 가 이상 하거나 불법 으로 올 라 왔 기 때문에 한 번 더 모색 한 후에 여러분 과 공유 하 겠 습 니 다.
html:
<form class="layui-form layui-form-pane" action="" style="margin-top:20px;" enctype="multipart/form-data">
  <center>
    <div class="layui-upload-drag" id="uploadBanner">
      <img class="layui-upload-img" id="upload-photo">
      <i class="layui-icon" id="upload-icon">v</i>
      <p>    ,         </p>
      <p>    1920*512</p>
    </div>
    <input type="hidden" id="res" name="banner_photo" value="" lay-verify="required" />
    <div class="layui-form-item" style="margin-top:10px;">
      <button class="layui-btn" lay-submit="" lay-filter="sub">  </button>
    </div>
    <div id="demoText"></div>
  </center>
</form>
layui.use('upload', function(){
  var $ = layui.jquery
    ,upload = layui.upload;
  //      
  var uploadInst = upload.render({
    elem: '#uploadBanner'
    ,url: "{:U('Api/doUploadPic')}"
    ,before: function(obj){
      //        ,   ie8
      obj.preview(function(index, file, result){
        $('#upload-photo').attr('src', result); //    (base64)
        $('#upload-photo').attr('style', 'height:10rem;');
        $('#upload-icon').attr('style','display:none;');
      });
    }
    ,done: function(res, index, upload){
      //      
      if(res.code > 0){
        return layer.msg('    ');
      }
      //    
      console.log("   !" + obj2string(res) + "  " + index + "  " + upload);
    }
    ,error: function(){
      //      ,     
      var demoText = $('#demoText');
      demoText.html('<span style="color: #FF5722;">    </span> <a class="layui-btn layui-btn-xs demo-reload">  </a>');
      demoText.find('.demo-reload').on('click', function(){
        uploadInst.upload();
      });
    }
  });
});
public function doUploadPic()//    
  {
    $upload = new \Think\Upload();
    $upload->maxSize = 3145728;
    $upload->exts = array('jpg', 'gif', 'png', 'jpeg');
    $upload->rootPath = './Public/'; //          
    $upload->savePath = 'upload/'; //          
    $info = $upload->upload();
    if(!$info){
      $this->error($upload->getError());
    }else{
      foreach($info as $file){
      $data = '/Public'.$file['savepath'] . $file['savename'];
      $file_a=$data;
      echo '{"code":0,"msg":"    ","data":{"src":"'.$file_a.'"}}';
      }
    }
  }
 
  
 thinkpHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 는 ThinkPHP 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
파일 업로드 + 폼 업로드텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.