【教程】使用layui上传图片

layui版本:v2.2.6

layui的文档只给了使用,但是没有给接口,以下内容给出了接口,各位可以直接拿去使用,有问题欢迎提问

html显示部分,可以在下面的span里添加一个img标签

<span id="img1"></span>
<button type="button" class="layui-btn layui-btn-sm" id="test1">

layui调用

layui.use(['element','upload'], function(){
  var element = layui.element;
  var upload = layui.upload;
   
  //执行实例
  var uploadInst = upload.render({
	elem: '#test1' //绑定元素
	,url: '../inc/upload.php?id='+<?php echo($rstInfo["id"]);?> //上传接口,可以直接传参数id,也可以使用data,具体可查看layui文档	
	,done: function(res){
		console.log(res);
	  //上传完毕回调
	  if(res.errcode==0){
		  document.getElementById('img1').innerHTML= '<a href="../upload/'+res.data.src+'" target="_new"><img src="../upload/'+res.data.src+'" width="180"></a>';
	  }
	}
	,error: function(res){
		console.log(res);
	  //请求异常回调
	}
  });

});

upload.php代码如下

    $id=$_REQUEST["id"];
    include "../inc/i_conn.php"; 
    $lastname=get_extension($_FILES["file"]["name"]);  
    $imgname = time().rand().".".$lastname;.//起个随机文件名
    $tmp = $_FILES["file"]["tmp_name"];
    $size = $_FILES["file"]["size"];   
    //图片尺寸不能超过3M
    if($size==0 || $size/1024/1024>3){
        echo '{  "errcode": 1  ,"msg": "'.$size.'"  ,"data": {    "src": "'.$imgname.'"  }    }';
    }
    else{
        $filepath = getcwd()."../../upload/";        
        $img = "../../upload/".$imgname;
        
        if(move_uploaded_file($tmp,$filepath.$imgname)){  
            //查询原来的图片文件名,并删除
	    $strsql="select pic from pic1 where id=".$id;
	    $rst=$pdo->query($strsql);  
	    $rstInfo=$rst->fetch();
	    $oldimg=$rstInfo["pic"]; 
	    if($oldimg!=""){
	    	unlink ("../upload/".$oldimg); 
	    }
	    //把新文件名更新到数据库
	    $strsql="update pic1 set pic='".$imgname."' where id=".$id;
	    $pdo->exec($strsql);
            //必须返回json格式字符串       
            echo '{  "errcode": 0  ,"msg": "'.$oldimg.'"  ,"data": {    "src": "'.$imgname.'"  }    }';
            
        }
    }
    //获取扩展名
    function get_extension($file) 
    { 
        return pathinfo($file, PATHINFO_EXTENSION); 
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hifhf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值