Thinkphp6 生成二维码以及批量生成二维码并保存

1、引入 think-qrcode

 composer require dh2y/think-qrcode

成功后,vendor 文件夹下面会出现 dh2y文件夹

2, 在项目中引用

$code = new \dh2y\qrcode\QRcode();

3,生成普通二维码

// $content  需要生成的二维码内容
// $src  保存的地址.png结尾 (绝对路径)
// $size  需要生成二维码的大小  12

function createQrcode($content,$src,$size){
	$qrcode=new \dh2y\qrcode\QRcode();
	$qrcode->png($content,$src,$size,' L');
	if(file_exists($src)){
	        return '二维码生成成功';
	    }else{
	        return '二维码生成失败;
	    }
 }

4,批量生成普通二维码遇到的问题及解决办法

问题描述:Constant QR_MODE_NUL already defined --> 已定义常量 QR_MODE_NUL

出现这个问题的主要原因是因为,把new写到了for循环里面了

怎么解决这个问题

//在foreach外面new出QRcode

$qrcode=new \dh2y\qrcode\QRcode();

foreach($data as $val){
    createQrcode($content,$src,$size,$qrcode);
}

function createQrcode($content,$src,$size,$qrcode=''){
    if($qrcode==''){
        $qrcode=new \dh2y\qrcode\QRcode();
    }
	$qrcode=new \dh2y\qrcode\QRcode();
	$qrcode->png($content,$src,$size,' L');
	if(file_exists($src)){
	        return '二维码生成成功';
	    }else{
	        return '二维码生成失败;
	    }
 }

https://packagist.org/packages/dh2y/think-qrcode

您可能还会喜欢: