美文网首页
TP5二维码

TP5二维码

作者: 菠萝蜜朵弦 | 来源:发表于2020-01-17 11:59 被阅读0次

    1.下载phpqrcode扩展包,存在百度网盘,解压后放在extend目录下


    image.png

    2.实现方法

            require_once '../extend/phpqrcode/phpqrcode.php';  #引入文件
           
            $reg_url = ''; //todo 页面地址
            $url = $reg_url . '?code=' . $param['code'];  #拼接参数 参数名任意
            $errorCorrectionLevel = 'H';  #容错级别
            $matrixPointSize = 6;  #生成图片大小
            $file_url = "./upload/qrcode/" . date('ymd') . '_' . substr(md5(rand(00001, 99999)), 0, 16) . ".png";  #生成图片路径
    
            if (file_exists($file_url)) {
                $file_url = substr($file_url, 1);
                return resultArray(1, 'success1', $file_url);
            }
    
            $object = new \QRcode();
            //新建目录 - 移动logo文件
            if (!is_dir('./upload/qrcode')) {  #创建目录
                mkdir('./upload/qrcode');
            }
    
            $logo = './upload/qrcode/qrcode_logo.jpg';  #准备好的logo图片
    
    
            if (!file_exists('./upload/qrcode/qrcode_logo.jpg')) {  #移动文件,防止权限不足
                copy('./upload/common/images/logo1.jpg', './upload/qrcode/qrcode_logo.jpg');
            }
            $res = $object->png($url, $file_url, $errorCorrectionLevel, $matrixPointSize, 1);
            if ($logo !== FALSE && file_exists($file_url) && file_exists($logo)) {
                $QR = imagecreatefromstring(file_get_contents($file_url));
                $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);
            } else {
                return resultArray(0, '文件错误');
            }
    
            imagepng($QR, $file_url);  #重新生成的图片
            $file_url = substr($file_url, 1);
            return resultArray(1, 'success', $file_url);

    相关文章

      网友评论

          本文标题:TP5二维码

          本文链接:https://www.haomeiwen.com/subject/lfljgctx.html