PHP根据qrcode生成二维码

这里是TP5的示例。这里是TP5的示例。这里是TP5的示例。
运行cmd 切换到你项目的根目录
然后运行

composer require endroid/qrcode

别忘了引用文件

use Endroid\QrCode\QrCode;
    public function test(){
        $qrcode = new QrCode();
        $url = "aiyou";// 可以是url  也可以是内容 如果是url的话  要给http://  才能跳转的
        $qrcode->setText($url)
            ->setSize(300)//  大小
            ->setLabelFontPath(VENDOR_PATH.'endroid\qrcode\assets\noto_sans.otf')
            ->setErrorCorrectionLevel('high')
            ->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))
            ->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))
            ->setLabel('换购码')//设置标签
            ->setLabelFontSize(16);
        header('Content-Type:'.$qrcode->getContentType());
        echo $qrcode->writeString();
        exit;
    }

然后访问你测试的这个控制器里的test方法,二维码就生成了

补充下把图片保存到本地的方法 ,很简单

        $qrcode = new QrCode();
        $url = "aiyou";// 可以是url  也可以是内容 如果是url的话  要给http://  才能跳转的
        $path = "";//  图片路径
        $filename = "123.png";//  图片名称
        $qrcode->setText($url)
            ->setSize(300)//  大小
            ->setLabelFontPath(VENDOR_PATH.'endroid\qrcode\assets\noto_sans.otf')
            ->setErrorCorrectionLevel('high')
            ->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))
            ->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))
            ->setLabelFontSize(16)
            ->writeFile($path.$filename);
        return $filename;

你可能感兴趣的:(PHP)