PHP生成二维码

  /**
     * $header  string  二维码地址
     * 生成二维码 
     * @return mixed
     */
    function getQrcode($url)
    {
        $urls = './qrcode/' . date('Ymd') . '/';
        if (!file_exists($urls)) {
            mkdir($urls, 0777, true);
        }
        $QRcode = new \phpqrcode\QRcode(); //实例类
        $data = $url;
        $urls = $urls .  $url . '.png';
        $level = 'L'; // 纠错级别:L、M、Q、H
        $size = 2; // 点的大小:1到10,用于手机端4就可以了
        $QRcode->png($data, $urls, $level, $size, 1);
        $imgUrl = substr($urls, 1);
        return $imgUrl;
    }

/**
     * $type 1 为门户 2 为o
     * $cp_id 公司编号,确认公司的小程序,无这默认系统小程序
     * $page 小程序路径
     * $scene 二维码参数
     * $filename  string  二维码名称
     * 
     * 生成小程序的二维码
     * @return mixed
     */
    function getWxCode($page,$scene,$filename,$type=1,$cp_id=0,$width=280){
        //二维码
        $url ="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=".get_access_token($type,$cp_id);
        $data['scene'] = $scene;
        $data['page'] = $page;
        $data['width'] = $width;
        
        $rs = dcurl($url,json_encode($data));
        $test = json_decode($rs,true);
        $date = date("Ymd");
        $path = "./qrcode/".$date."/";
        if(!file_exists($path)){
            mkdir($path,0755,true);
        }
        $qrcode =$path.$filename;
        if(!is_array($test)){
            $resource = fopen($qrcode, 'a');
            fwrite($resource, $rs);
            fclose($resource);

        }
        if(is_file($qrcode)){
            return "/qrcode/".$date."/".$filename;
        }else{
            return "";
        }
    }

    /**
     * $header  string  二维码地址
     * 生成base64格式的二维码 
     * @return mixed
     */
    function getBase64Qrcode($url)
    {
        $data = $url;
        $level = 'L'; // 纠错级别:L、M、Q、H
        $size = 10; // 点的大小:1到10,用于手机端4就可以了
        $QRcode = new \phpqrcode\QRcode(); //实例类
        ob_start();
        $QRcode->png($data, false, $level, $size, 1);
        $imageString = base64_encode(ob_get_contents());
        ob_end_clean();
        return 'data:image/jpg;base64,' . $imageString;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值