php教程

超轻量级php框架startmvc

Symfony生成二维码的方法

更新时间:2020-03-07 23:11:44 作者:startmvc
本文实例讲述了Symfony生成二维码的方法。分享给大家供大家参考,具体如下:现在网上能

本文实例讲述了Symfony生成二维码的方法。分享给大家供大家参考,具体如下:

现在网上能搜到很多关于使用PHP生成二维码的例子,主要是两种方法:

第一种:google开放api,如下:


$urlToEncode="http://blog.it985.com";
generateQRfromGoogle($urlToEncode);
function generateQRfromGoogle($chl, $widhtHeight = '150', $EC_level = 'L', $margin = '0')
{
 $url = urlencode($url);
 echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" />';
}

附:API接口地址 https://developers.google.com/chart/infographics/docs/qr_codes

第二种:使用PHP类库 PHP QR CODE

官方地址:http://phpqrcode.sourceforge.net/

下载地址:http://sourceforge.net/projects/phpqrcode/

也可点击此处本站下载。

使用方法:


<?php
// include这两个文件之一:
/*
qrlib.php for full version (also you have to provide all library files
form package plus cache dir)
OR phpqrcode.php for merged version (only one file,
but slower and less accurate code because disabled cache
and quicker masking configured)
*/
// 两句话解释:
// 包含qrlib.php的话需要同其它文件放到一起:文件、文件夹。
// phpqrcode.php是合并后版本,只需要包含这个文件,但生成的图片速度慢而且不太准确
include('./phpqrcode/phpqrcode.php');
// 以下给出两种用法:
// 创建一个二维码文件
QRcode::png('code data text', 'filename.png');
// creates file
// 生成图片到浏览器
QRcode::png('some othertext 1234');
?>

附官方示例代码地址:http://phpqrcode.sourceforge.net/examples/index.php

当然,还有其他方法生成二维码,这里就不一一介绍了。

下面我们说一下在Symfony下使用EndroidQrCodeBundle生成二维码:

1、使用composer安装

composer require endroid/qrcode-bundle
2、在kernel中注册


<?php
// app/AppKernel.php
public function registerBundles()
{
 $bundles = array(
 // ...
 new Endroid\Bundle\QrCodeBundle\EndroidQrCodeBundle(),
 );
}

3、定义访问路由


EndroidQrCodeBundle:
 resource: "@EndroidQrCodeBundle/Controller/"
 type: annotation
 prefix: /qrcode

4、配置 config.xml


endroid_qr_code:
 size: 100
 padding: 10
 extension: gif
 error_correction_level: high
 foreground_color: { r: 0, g: 0, b: 0, a: 0 }
 background_color: { r: 255, g: 255, b: 255, a: 0 }
 #label: "My label"
 #labelFontSize: 16

5、在twig中使用

普通文本生成方式:


<img src="{{ qrcode_url(message) }}" />
<img src="{{ qrcode_url(message, extension='png') }}" />
<img src="{{ qrcode_url(message, size=150) }}" />

链接生成方式:

<img src="{{ qrcode_data_uri(message, size=200, padding=10) }}" />
本文永久地址:http://blog.it985.com/12340.html 本文出自 IT985博客 ,转载时请注明出处及相应链接。

Symfony 生成二维码