THINKPHP5 使用ajax异步上传图片

为了美化上传过程,所以我们有时候需要使用ajax异步上传并处理图片,下文主要介绍thinphp5如何使用ajax异步上传图片

为了美化上传过程,所以我们有时候需要使用ajax异步上传并处理图片,下文主要介绍thinphp5如何使用ajax异步上传图片

HTML

<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<script src="__JS__jquery-3.3.1.min.js"></script>
<script src="__JS__layer/layer.js"></script>
<body>
  <form id="form">
       <p><input type="file" id="avatar" name="avatar" onchange="fun(this)" style="display:none" /></p>
 </form>
<div id="pathimg"><img src="uloads/avatar/{$data['newname']}" width="100" onclick="uploadFun()">
</div>
</body>
<script>
//点击照片后调用该函数
function uploadFun(){
    $('#avatar').click();
}
 
//选择图片后调用该函数
function fun(){     
    var data = new FormData($('#form')[0]);   //获取表单对象信息
    $.ajax({  
        url: "{:url('index/upload')}", 
        type: 'POST',  
        data: data, 
        dataType: 'JSON',  
        cache: false,  
        processData: false,  
        contentType: false  
    }).done(function(ret){  
        if(ret['success']){
            var pathimg;    //定义图片路径
            pathimg = '<img src="uploads/' + ret['road']  + '" width="100">';
            $('#pathimg').html(pathimg);
            layer.msg('上传成功');
        }else{  
            layer.msg('上传失败');
        }  
    });  
    return false;
   }  
</script>
 
</html>
 

PHP

<?php
namespace app\index\controller;
use think\Controller;
use think\Request;
use think\Db;
use think\db\Query;
 
 
class Index extends Controller
{
 
    public function upload()
    {
        $file = request()->file('f');       //获取文件信息
        $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
        if($info){
            $imgpath=$info->getSaveName();      //获取图片名字
            $sql=Db::name('users')
                ->where('uid',8)
                ->update(['avatar'=>$imgpath]);       
            $response['success'] = true;  
            $response['road'] = $imgpath;  
        }else{  
            $response['success'] = false;  
        }  
              
        echo json_encode($response);
    }
 
}

原创文章,作者:ECHO陈文,如若转载,请注明出处:https://www.luweipai.cn/php/456121348/

  • 0