PHP 实现扩展phpqrcode二维码生成

一、phpqrcode下载

https://sourceforge.net/projects/phpqrcode/files/

二、使用步骤

1.将下载文件解压在vendor文件中

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVGhlIEFyMWVuZQ==,size_6,color_FFFFFF,t_70,g_se,x_16

2.控制器引入

注意:刚开始试过下面这种引入方式发现引入这里会一直会报错误提醒

public function index{
        $qRcode = new \QRcode();
        //代码块
        $qRcode->png($data, false, $level, $size);
}

后来在控制器更换了引用方式

use QRcode;

3.操作

    public function index()
    {
        header("Content-type:image/png");
        require "../vendor/phpqrcode/phpqrcode.php";

        // 获取下载地址            这里是我需要携带url自定义的获取方法,根据实际情况自行调整
        $model = new seting();
        $appUrl = $model->getAppUrl();

        // 二维码携带的的网址或者是文本内容
        $data = $appUrl;

        // 二维码容错率
        $level = 'L';

        // 二维码大小
        $size = 4;
        // 参数传递
        $QR = QRcode::png($data, false, $level, $size);
        $imagestring = base64_encode(ob_get_contents());
        ob_end_clean();
        // 返回
        return json('data:image/png;base64,' . $imagestring);
    }

注意:在 return 返回给前端时返回的json数据是这样的,

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVGhlIEFyMWVuZQ==,size_20,color_FFFFFF,t_70,g_se,x_16

如果后端调试查看的话可以用img标签会返回二维码图片

return "<img src='data:image/png;base64,{$imagestring}'  />";

 4.参数讲解

在这里调用的方法是在phpqrcode.php中的定义好的png方法

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVGhlIEFyMWVuZQ==,size_13,color_FFFFFF,t_70,g_se,x_16

phpqrcode.php

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAVGhlIEFyMWVuZQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 $text —— 二维码所带的内容:下载地址,文本都可以

$outfile —— 二维码是否保存:默认是false 如果要生成文件的话就需要给出保存的路径

$level —— 二维码的容错率:4个参数可选(L-7%、M-15%、Q-25%、H-35%)、二维码被覆盖的区域百分比

$size —— 二维码的大小,参数是整数(手机端一般4就合适)

$margin —— 二维码的空白区域

$saveandprint —— 保存二维码为图片并显示

总结

团结就是力量,分享是温故知新

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值