laravel5.8(二十四)生成二维码(qrcode)

PHP生成二维码,我这里使用phpqrcode类库。

官网:http://phpqrcode.sourceforge.net/

去官网直接下载就好,只是这个类库的版本有点老,但是足够用了。

关于laravel5.8框架如何引入第三方类库,请移步《laravel5.8(十)引入第三方类库

我这里直接放上我使用的示例:

//二维码内容 
            $value = 'https://xxx.xxx.xxx/xxx/xx_xxx.html?id=' . $article_id;
            //生成二维码图片
            $filename = 'article_qrcode_' . $article_id . '.png';
            //容错级别 
            $errorCorrectionLevel = 'L';
            //生成图片大小 
            $matrixPointSize = 15;
            // 实例化qrcode对象
            $QRcode = new QRcode();
            //生成二维码图片 
            $QRcode::png($value, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
            // 水印图片
            $logo = DOMAIN . 'uploads/articleQrcode/logo.png';
            //已经生成的原始二维码图 
            $QR = $filename;
            $QR = imagecreatefromstring(file_get_contents($QR));
            $logo = imagecreatefromstring(file_get_contents($logo));
            //二维码图片宽度 
            $QR_width = imagesx($QR);
            //二维码图片高度 
            $QR_height = imagesy($QR);
            //logo图片宽度 
            $logo_width = imagesx($logo);
            //logo图片高度 
            $logo_height = imagesy($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, $filename);
            $setPath = 'uploads/articleQrcode/' . $filename;
            // 将二维码剪切至对应目录
            $shell = "mv -f ./" . $filename . "  ./uploads/articleQrcode/" . $filename;
            exec($shell, $output, $state);

以上大概就是基本的使用示例。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客
https://guanchao.site

欢迎访问小程序:
laravel5.8(二十四)生成二维码(qrcode)

上一篇:1.5-语义化标签


下一篇:logo seo优化