本文实例讲述了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/
使用方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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安装
2、在kernel中注册
1
2
3
4
5
6
7
8
9
|
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array (
// ...
new EndroidBundleQrCodeBundleEndroidQrCodeBundle(),
);
}
|
3、定义访问路由
1
2
3
4
|
EndroidQrCodeBundle:
resource: "@EndroidQrCodeBundle/Controller/"
type: annotation
prefix: /qrcode
|
4、配置 config.xml
1
2
3
4
5
6
7
8
9
|
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中使用
普通文本生成方式:
1
2
3
|
<img src= "{{ qrcode_url(message) }}" />
<img src= "{{ qrcode_url(message, extension='png') }}" />
<img src= "{{ qrcode_url(message, size=150) }}" />
|
链接生成方式:
本文永久地址:http://blog.it985.com/12340.html
本文出自 IT985博客 ,转载时请注明出处及相应链接。
希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。