如何使用phpqrcode生成任意尺寸二维码的方法

使用phpqrcode生成任意尺寸二维码的方法

算法

在Yii2中整合phpqrcode用于生成二维码,其代码如下:

 //返回生成普通二维码地址   $qrcode_url 为网址  $qrcode_type类型,存放目录 $mac为参数
    public static function getPuTongQrcode($qrcode_url, $qrcode_type, $mac, $size = '148')
    {
    	//引入phpqrcode类
        require_once 'phpqrcode.php';
        $qrCode = new \QRcode();
        $path = '/uploaded/qrcode/qipa250/' . date("Ymd");
        if (!is_dir(Yii::$app->basePath . $path)) {
            mkdir(Yii::$app->basePath . $path, 0777, true);
        }
        //生成的二维码路径参数
        $mac_new = str_replace('*', '_', $mac) . '_' . $qrcode_type;

        $base_url = Yii::$app->params['localUrl'];//本地路径参数

        $filepath = $path . '/' . $qrcode_type . '_' . $mac_new . '_' . md5($qrcode_url) . '_' . $size . '.png';

        //生成不同的尺寸大小图片 算法 有一定出入,比传入的生成的二维码要大
        $qrcode_size = floor($size / 37 * 100) / 100;

        $filename = Yii::$app->basePath . $filepath;

        //查询是否存在,存在则直接返回,不存在,则生成 不用每次都生成
        $putong_qrcodeimage = $base_url . $filepath;
        
        if (!file_exists($putong_qrcodeimage)) {
            $qrCode::png($qrcode_url, $filename, 'L', $qrcode_size, 2);
        }
        return $putong_qrcodeimage;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章