Symfony生成二维码的方法


Posted in PHP onFebruary 04, 2016

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
使用 MySQL 开始 PHP 会话
Dec 21 PHP
JS实现php的伪分页
May 25 PHP
需要发散思维学习PHP
Jun 29 PHP
php利用header函数实现文件下载时直接提示保存
Nov 12 PHP
php去除html标记的原生函数详解
Jan 27 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
Aug 25 PHP
php二维码生成以及下载实现
Sep 28 PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 PHP
Laravel框架实现的使用smtp发送邮件功能示例
Mar 12 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
laravel实现上传图片并在页面显示的例子
Oct 14 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 PHP
twig模板常用语句实例小结
Feb 04 #PHP
Symfony2 session用法实例分析
Feb 04 #PHP
PHP 开发者该知道的 5 个 Composer 小技巧
Feb 03 #PHP
php session实现多级目录存放实现代码
Feb 03 #PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
Feb 03 #PHP
全新Mac配置PHP开发环境教程
Feb 03 #PHP
PHP的几个常用加密函数
Feb 03 #PHP
You might like
php数组去重实例及分析
2013/11/26 PHP
鼠标图片振动代码
2006/07/06 Javascript
Javascript valueOf 使用方法
2008/12/28 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
jquery 实现窗口的最大化不论什么情况
2013/09/03 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
2015/09/01 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
python简单程序读取串口信息的方法
2015/03/13 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
pyqt远程批量执行Linux命令程序的方法
2019/02/14 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
用 Django 开发一个 Python Web API的方法步骤
2020/12/03 Python
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
自我鉴定范文
2013/11/10 职场文书
培训演讲稿范文
2014/01/12 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
红色故事演讲稿
2014/05/22 职场文书
争先创优心得体会
2014/09/12 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书