Symfony生成二维码的方法
本文实例讲述了Symfony生成二维码的方法。分享给大家供大家参考,具体如下:
现在网上能搜到很多关于使用PHP生成二维码的例子,主要是两种方法:
第一种:google开放api,如下:
$urlToEncode="http://blog.it985.com"; generateQRfromGoogle($urlToEncode); functiongenerateQRfromGoogle($chl,$widhtHeight='150',$EC_level='L',$margin='0') { $url=urlencode($url); echo'<imgsrc="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'"alt="QRcode"/>'; }
附:API接口地址https://developers.google.com/chart/infographics/docs/qr_codes
第二种:使用PHP类库PHPQRCODE
官方地址:http://phpqrcode.sourceforge.net/
下载地址:http://sourceforge.net/projects/phpqrcode/
也可点击此处本站下载。
使用方法:
<?php //include这两个文件之一: /* qrlib.phpforfullversion(alsoyouhavetoprovidealllibraryfiles formpackagepluscachedir) ORphpqrcode.phpformergedversion(onlyonefile, butslowerandlessaccuratecodebecausedisabledcache andquickermaskingconfigured) */ //两句话解释: //包含qrlib.php的话需要同其它文件放到一起:文件、文件夹。 //phpqrcode.php是合并后版本,只需要包含这个文件,但生成的图片速度慢而且不太准确 include('./phpqrcode/phpqrcode.php'); //以下给出两种用法: //创建一个二维码文件 QRcode::png('codedatatext','filename.png'); //createsfile //生成图片到浏览器 QRcode::png('someothertext1234'); ?>
附官方示例代码地址:http://phpqrcode.sourceforge.net/examples/index.php
当然,还有其他方法生成二维码,这里就不一一介绍了。
下面我们说一下在Symfony下使用EndroidQrCodeBundle生成二维码:
1、使用composer安装
composerrequireendroid/qrcode-bundle
2、在kernel中注册
<?php //app/AppKernel.php publicfunctionregisterBundles() { $bundles=array( //... newEndroid\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:"Mylabel" #labelFontSize:16
5、在twig中使用
普通文本生成方式:
<imgsrc="{{qrcode_url(message)}}"/> <imgsrc="{{qrcode_url(message,extension='png')}}"/> <imgsrc="{{qrcode_url(message,size=150)}}"/>
链接生成方式:
<imgsrc="{{qrcode_data_uri(message,size=200,padding=10)}}"/>
本文永久地址:http://blog.it985.com/12340.html
本文出自IT985博客,转载时请注明出处及相应链接。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《php优秀开发框架总结》、《ThinkPHP入门教程》及《codeigniter入门教程》
希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。