栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

扫码上传图片实现思路以及代码展示

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

扫码上传图片实现思路以及代码展示

写在前面:这里提供一种解决问题思路,跟什么语言无关,可具体问题具体分析;

这里用到的是PHP,框架是Laravel.




//当前时间
$rs['current']=time();
//二维码保存地址
$PNG_WEB_DIR = 'uploads/qr/';
//加载二维码生成类
include "phpqrcode/qrlib.php";    
//设置二维码容错等级
$errorCorrectionLevel = 'H';
//生成图片的大小
$matrixPointSize = 4;
//扫描二维码访问的地址 - 带上当前访问时间作为唯一标识
$data='http://'.$_SERVER['HTTP_HOST'].'/qr-upload?time='.$rs['current'];
//生成二维码文件
//    uploads/qr/sfwer9234-98252-359-235.png
$filename = $PNG_WEB_DIR.md5($data.'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';
// php 生成二维码类:
// 参数介绍:
// 第1个参数$text:二维码包含的内容,可以是链接、文字、json字符串等等;
// 第2个参数$outfile:默认为false,不生成文件,只将二维码图片返回输出;否则需要给出存放生成二维码图片的文件名及路径;
// 第3个参数$level:默认为L,这个参数可传递的值分别是L(QR_ECLEVEL_L,7%)、M(QR_ECLEVEL_M,15%)、Q(QR_ECLEVEL_Q,25%)、H(QR_ECLEVEL_H,30%)这个参数控制二维码容错率,不同的参数表示二维码可被覆盖的区域百分比,也就是被覆盖的区域还能识别;
// 第4个参数$size:控制生成图片的大小,默认为4;
// 第5个参数$margin:控制生成二维码的空白区域大小;
// 第6个参数$saveandprint:保存二维码图片并显示出来,$outfile必须传递图片路径;
QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
//二维码输出路径,获取二维码给前端进行展示
$rs['qr_img']=HTML::image($PNG_WEB_DIR.basename($filename));




    

      {{$qr_img}}    //展示二维码 - 一张图片       扫描左侧二维码即可上传照片     

    //当前访问地址的时间,由后台返回  - 后续用来查图片进行展示     我已上传图片


$rs['time']=Input::get('time');    //获取前端传过来的时间进行过期判断,如果过期返回错误提示



{{Form::open(['url'=>URL::current(),'enctype'=>'multipart/form-data','id'=>'cdc'])}}

  
    
      
    
    
      身份证正面
      
      
    
    
      身份证背面
      
      
    
    
      手持正面
      
      
    
    {{Form::hidden('biaoshi',$time)}}
    
    
    
    
      上 传
    
  

{{Form::close()}}
$("#s1").UploadImg({
    url : "/qr-upload.php",
    width : "640",
    quality : "0.7", //压缩率,默认值为0.7
    mixsize : "10000000",
    before : function(blob){
      $("#i1").html(hh);
    },
    error : function(d){
      $("#i1").html('上传失败请重新上传');
    },
    success : function(d){
      $("#i1").html('');
      $("input[name='h1']").val("/"+d);
    }
  });
 //剩余两个省略........

public function qrpost(){
    $input=Input::all();
    $arr['pic1']=$input['h1'];
    $arr['pic2']=$input['h2'];
    $arr['pic3']=$input['h3'];
    $arr['biaoshi']=$input['biaoshi'];
    Lice::create($arr);
    return Redirect::to('/qrok');
  }




 
 

$(".ae-uploaded").click(function () {
    var biaoshi = $(this).attr("data-biaoshi");    //这里获取的"attr"就是时间唯一标识
    var str;
    $.ajax({
      type: "post",
      dataType: "json",
      data: {"biaoshi": biaoshi},
      url: "/qr-fetch",
      success: function (d) {
        if(d.flag) {
          str = '';
          str += '';
          str += '';
          $(".qr-img").html(str);
          $("input[name='package[pic1]']").val(d.file.pic1);
          $("input[name='package[pic2]']").val(d.file.pic2);
          $("input[name='package[pic3]']").val(d.file.pic3);
          $(".uploaded").hide();
        }else {
          alert("上传失败,请重新在手机上传");
        }
      }
    });
  });



  //后端代码
 

public function qrfetch(){
    $biaoshi=Input::get('biaoshi');
    $info=Lice::where('biaoshi',$biaoshi)->select('pic1','pic2','pic3')->first();
    if($info){
      return Response::json(['flag'=>true,'file'=>$info]);
    }else{
      return Response::json(['flag'=>false]);
    }
  }




 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227000.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号