当前位置:首页 > CMS教程 > 其它CMS > 列表

Symfony生成二维码的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-09 10:37:06 浏览: 评论:0 

这篇文章主要介绍了Symfony生成二维码的方法,实例分析了采用google开放api和PHP类库phpqrcode两种方法,并结合实例详细说明了Symfony下使用EndroidQrCodeBundle生成二维码的具体步骤与实现方法,需要的朋友可以参考下

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

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

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

  1. $urlToEncode="http://www.phpfensi.com"
  2. generateQRfromGoogle($urlToEncode); 
  3. function generateQRfromGoogle($chl$widhtHeight = '150'$EC_level = 'L'$margin = '0'
  4.   $url = urlencode($url); 
  5.   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. <?php 
  2. // include这两个文件之一: 
  3. /* 
  4. qrlib.php for full version (also you have to provide all library files 
  5. form package plus cache dir) 
  6. OR phpqrcode.php for merged version (only one file, 
  7. but slower and less accurate code because disabled cache 
  8. and quicker masking configured) 
  9. */ 
  10. // 两句话解释: 
  11. // 包含qrlib.php的话需要同其它文件放到一起:文件、文件夹。 
  12. // phpqrcode.php是合并后版本,只需要包含这个文件,但生成的图片速度慢而且不太准确 
  13. include('./phpqrcode/phpqrcode.php'); 
  14. // 以下给出两种用法: 
  15. // 创建一个二维码文件 
  16. QRcode::png('code data text''filename.png'); 
  17. // creates file 
  18. // 生成图片到浏览器 
  19. QRcode::png('some othertext 1234'); 
  20. ?> 

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

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

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

1、使用composer安装,代码如下:

composer require endroid/qrcode-bundle

2、在kernel中注册

  1. <?php 
  2. // app/AppKernel.php 
  3. public function registerBundles() 
  4.   $bundles = array
  5.     // ... 
  6.     new Endroid\Bundle\QrCodeBundle\EndroidQrCodeBundle(), 
  7.   ); 

3、定义访问路由

  1. EndroidQrCodeBundle: 
  2.   resource:  "@EndroidQrCodeBundle/Controller/" 
  3.   type:    annotation 
  4.   prefix:   /qrcode 

4、配置 config.xml

  1. endroid_qr_code: 
  2.   size: 100 
  3.   padding: 10 
  4.   extension: gif 
  5.   error_correction_level: high 
  6.   foreground_color: { r: 0, g: 0, b: 0, a: 0 } 
  7.   background_color: { r: 255, g: 255, b: 255, a: 0 } 
  8.   #label: "My label" 
  9.   #labelFontSize: 16 

5、在twig中使用

普通文本生成方式:

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

链接生成方式:

<img src="{{ qrcode_data_uri(message, size=200, padding=10) }}" />

Tags: Symfony生成二维码

分享到: