素材牛VIP会员

PHP生成二维码实例教程

 所属分类:PHP实例-文件操作,常用实例教程

 浏览:5900次  评论:12次  更新时间:2020-09-03
牛币素材VIP可免积分下载
PHP生成二维码实例教程
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!   充值积分   充值会员   更多说明»
素材描述:本文介绍一款PHP生成二维码的类库:phpqrcode。
 标签:qrcode二维码

基础属性

  • 难易初级
  • 语言PHP
  • 数据库

详细介绍

HTML

<input type="text" class="input" id="txt" value="http://www.sucainiu.com" 
/> 
<label for="logo"> 
    <input type="checkbox" name="logo" id="haslogo" /> 
    带LOGO 
</label> 
<input type="button" id="sub_btn" class="btn" value="提交" />

jQuery

$(function() { 
    $("#sub_btn").click(function() { 
        var txt = $("#txt").val(); 
        var haslogo = $("#haslogo").attr("checked"); 
        var logo = haslogo ? 1 : 0; 
        if (txt.length < 1 || txt.length > 200) { 
            alert("请输入内容!"); 
            return false; 
        } 
        $.post("ajax.php", { 
            mytxt: encodeURIComponent(txt), 
            mylogo: logo 
        }, 
        function(msg) { 
            $("#code").html(msg); 
        }); 
    }); 
});

PHP

include 'phpqrcode.php'; 
 
$value = isset($_POST['mytxt']) ? $_POST['mytxt'] : ""; //二维码内容  
$errorCorrectionLevel = 'L'; //容错级别  
$matrixPointSize = 6; //生成图片大小  
$mylogo = isset($_POST['mylogo']) ? $_POST['mylogo'] : ""; 
//生成二维码图片  
QRcode::png($value, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); 
$logo = 'logo.png'; //准备好的logo图片  
$QR = 'qrcode.png'; //已经生成的原始二维码图  
 
$logo_rs = "../../../../modals/temp/".time().".png";//文件存放路径 
if ($mylogo == 1) { //带有logo 
    $QR = imagecreatefromstring(file_get_contents($QR)); 
    $logo = imagecreatefromstring(file_get_contents($logo)); 
    $QR_width = imagesx($QR); //二维码图片宽度  
    $QR_height = imagesy($QR); //二维码图片高度  
    $logo_width = imagesx($logo); //logo图片宽度  
    $logo_height = imagesy($logo); //logo图片高度  
    $logo_qr_width = $QR_width / 5; 
    $scale = $logo_width / $logo_qr_width; 
    $logo_qr_height = $logo_height / $scale; 
    $from_width = ($QR_width - $logo_qr_width) / 2; 
    imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); 
    //输出图片  
    imagepng($QR, $logo_rs); 
    //重新组合图片并调整大小  
} else { //不带logo 
    QRcode::png($value, $logo_rs, $errorCorrectionLevel, $matrixPointSize, 2); 
} 
echo '<img src='.$logo_rs.'>';

讨论这个素材(12)回答他人问题或分享使用心得会奖励牛币

13***22  
2020年03月27日

容错级别设置高一点,否则带logo影响到扫码

回复
雪***0  
2020年04月14日

很喜欢,很实用的功能

回复
ok***23  
2020年04月15日

太好用了!

回复
Go***ng  
2020年04月27日

老哥这不跳转啊

回复
Co***ht  
2020年05月06日

太强大了,谢谢你

回复
贰***兄  
2020年05月11日

试了一下,没想到挺好用的呀,可以借鉴

回复
陌***4  
2020年05月31日

大爱,非常感谢

回复
ni***07  
2020年06月30日

试了一下,可以使用

回复
那***s  
2020年08月07日

今天刚好需要这个功能

回复
ya***cn  
2020年08月08日

很好,研究一下。。

回复
wx***36  
2023年01月28日

研究研究

回复
qq***59  
2023年04月13日

会不会扫描不到

回复
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取
我的牛币余额:0
所需牛币:200 开始下载

牛币获取:签到、评论、充值    » 在线充值(10牛币=1元)