使用 Composer 来安装这个库。
- composer require endroid / qrcode
简单几行代码,就可以生成一个普通的二维码:
- require_once('vendor/autoload.php');
- use Endroid\QrCode\QrCode;
- $qrCode = new QrCode('Helloweba欢迎您!');
- header('Content-Type: '.$qrCode - >getContentType());
- echo $qrCode - >writeString();
QrCode提供了许多方法参数设置,可以满足各种需求场景。比如需要生成中间带logo的二维码,需要保存二维码图片等。请看以下代码:
- require_once('vendor/autoload.php');
- use Endroid\QrCode\ErrorCorrectionLevel;
- use Endroid\QrCode\LabelAlignment;
- use Endroid\QrCode\QrCode;
- use Symfony\Component\HttpFoundation\Response;
- // Create a basic QR code
- $qrCode = new QrCode('Life is too short to be generating QR codes');
- $qrCode->setSize(300);
- // Set advanced options
- $qrCode
- ->setWriterByName('png')
- ->setMargin(10)
- ->setSize(200)
- ->setEncoding('UTF-8')
- ->setErrorCorrectionLevel(ErrorCorrectionLevel::HIGH)
- ->setForegroundColor(['r' => 0, 'g' => 0, 'b' => 0])
- ->setBackgroundColor(['r' => 255, 'g' => 255, 'b' => 255])
- ->setLabel('手机扫一扫', 12)
- ->setLogoPath('logo.png')
- ->setLogoWidth(64)
- ->setValidateResult(false)
- ;
- // Directly output the QR code
- header('Content-Type: '.$qrCode->getContentType());
- echo $qrCode->writeString();
- // Save it to a file
- //$qrCode->writeFile(__DIR__.'/qrcode.png');
- // Create a response object
- $response = new Response($qrCode->writeString(), Response::HTTP_OK, ['Content-Type' => $qrCode->getContentType()]);
运行以上代码,你会发现生成了一个中间,以上代码中:
:设置二维码图片的尺寸,数字整型,默认长宽是300px的图片。
- setSize()
:设置纠错级别,可以是
- setErrorCorrectionLevel()
,
- LOW
,
- MEDIUM
,
- QUARTILE
- HIGH
:设置前置色,rgb,默认黑色
- setForegroundColor()
:设置背景色,rgb,默认白色
- setBackgroundColor()
:设置文字说明
- setLabel()
:设置中间logo路径地址
- setLogoPath()
:设置logo宽度大小,数字
- setLogoWidth()
更多有关QrCode的信息请参照该项目在github上的地址: https://github.com/endroid/QrCode
来源: http://www.tuicool.com/articles/nYV32qy