laravel生成二维码

1.安装包
composer require simplesoftwareio/simple-qrcode
2.直接使用
	use SimpleSoftwareIO\QrCode\Facades\QrCode;
	use Storage;
	.....
	
     /**
     * 生成二维码
     * @param  Request $request [description]
     * @return [type]           [description]
     */
    public function generateQrcode(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'url' => 'nullable|url',
            'size' => 'nullable|integer|min:100',
            'type' => 'nullable|integer|in:1,2',
        ]);
        if ($validator->fails()) {
            $first_error = $validator->errors()->first();
            return $this->outPutJson('', 201, $first_error);
        }

        $size = request('size', 200);
        $type = request('type', 1); #1.生成base64,直接在页面使用不保存图片到文件服务器;2.保存图片到文件服务器,返回可访问的网络路径
        $url = request('url', url('form/apply'));
        $logo = public_path('assets/img/logo_qrcode.png');
        switch ($type) {
            case 1:
                $gen = QrCode::format('png')->size($size)->merge($logo, .3, true)->generate($url);
                $data = 'data:image/png;base64,' . base64_encode($gen);
                break;

            case 2:
                $qrcode_name = 'qrcodes/' . date('YmdHis_') . str_random(8) . '.png';
                QrCode::format('png')->size($size)->merge($logo, .3, true)->generate($url, Storage::disk('public')->path($qrcode_name));
                $data = Storage::disk('public')->url($qrcode_name);
                break;

            default:
                $data = '';
                break;
        }
        return $this->outPutJson($data);
        // return '<img src=' . $data . '>';type=1的时候使用图片
    }

官方文档:
https://www.simplesoftware.io/docs/simple-qrcode

在页面使用:

{!! QrCode::size(250)->margin(0)->generate(Request::url()); !!}

margin控制二维码留白像素,size控制二维码大小

在这里插入图片描述
相关文章:
php生成二维码 https://blog.csdn.net/zhezhebie/article/details/71440888

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SHUIPING_YANG

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

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

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

打赏作者

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

抵扣说明:

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

余额充值