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程序设计有所帮助。