Symfony生成二维码的方法

本文实例讲述了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博客 ,转载时请注明出处及相应链接。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《php优秀开发框架总结》、《ThinkPHP入门教程》及《codeigniter入门教程》

希望本文所述对大家基于Symfony框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Symfony2框架创建项目与模板设置实例详解

    本文实例讲述了Symfony2框架创建项目与模板设置的方法.分享给大家供大家参考,具体如下: 环境准备与概览 习惯于在windows使用netbean编辑器并使用virtualbox虚拟centos系统, 预将nginx+php-fpm+mysql,  当然apache也是不错的选择,   使用http://symfony在windows与centos上作为开发域名. 一.下载与环境设置 1. 如何于centos上面建立开发环境不再详述, 当然也可以在windows上面建立开发环境. 2. 关于

  • Symfony实现行为和模板中取得request参数的方法

    本文实例讲述了Symfony实现行为和模板中取得request参数的方法.分享给大家供大家参考,具体如下: 一.模板中取得参数 <?php echo $sf_request->getParameter('name','namespace');?> <?php echo $sf_request->getParameter('name');?> 二.行为中取得参数 $request->getParameter('name'); //模板中取得参数 <?php e

  • PHP的Symfony和CodeIgniter框架的Nginx重写规则配置

    Symfony Symfony国外很流行的php框架,目前国内用的相对较少,但是一定会在国内火起来. nginx重写规则如下 server { server_name jb51.net www.jb51.net; root /data/site/www.jb51.net; location / { # try to serve file directly, fallback to rewrite try_files $uri @rewriteapp; } location @rewriteapp

  • Symfony2安装第三方Bundles实例详解

    本文实例讲述了Symfony2安装第三方Bundles的方法.分享给大家供大家参考,具体如下: 大多数的Bundles都提了安装的介绍,下面来介绍基本的安装步骤: 一.添加composer依赖关系 在symfony里,用composer来管理依赖关系 1.找到Bundle的包的名称 在包的README里一般都告诉了我们它的名称,如果没有,可以在https://packagist.org网站里搜索到 2.通过composer来安装Bundle 知道了bundle的包名之后,我们可以通过compos

  • Symfony的安装和配置方法

    本文实例讲述了Symfony的安装和配置方法.分享给大家供大家参考,具体如下: 手工安装Symfony很简单,几乎没有太多需要讲的.打开 http://symfony.com/download ,从页面的选择列表中选择一个 Symfony 的发行版本,再点击旁边的 "DOWNLOAD NOW",把下载到的文件包解压到你的 Web 服务器上的某个位置,安装就算完成了.(选择版本号最高的那个通常是最好的,tgz格式还是zip格式只是个人喜好问题,每个版本的Symfony还有一个"

  • Symfony学习十分钟入门经典教程

    Symfony是一个强大的基于PHP的Web开发框架,在这里我们用十分钟的时间来做一个简单的增删改查的程序, 任何不熟悉Symfony的人都可以通过这个教程完成自己的第一个Symfony程序. 如果需要这个样例程序的全部源代码,可以访问 这里 ,或者通过下面的方式获取源代码: $git clone https://github.com/saharabear/symfony-sample.git 项目初始化 首先,需要你在自己的电脑中安装PHP环境并安装git.这方面的内容属于基础内容,网络上有大

  • Symfony模板的快捷变量用法实例

    本文实例讲述了Symfony模板的快捷变量用法.分享给大家供大家参考,具体如下: 在模板里,有一些symfony变量可以直接使用.通过这些快捷变量可以从symfony的对象里取得一些最常用的模板信息: $sf_context:完整的环境对象(sfContext 类的实例) $sf_request:请求对象(sfRequest 类的实例) $sf_params:请求的参数 $sf_user:当前的用户session对象(sfUser 类的实例) 三种常见的使用方法: //1. 长版本 <?php

  • Symfony2开发之控制器用法实例分析

    本文实例分析了Symfony2开发之控制器用法.分享给大家供大家参考,具体如下: 控制器是PHP函数,通过它,你可以根据HTTP请求创建任务信息,并且构建和返回HTTP响应.响应可以是HTML页面.XML文档.序列化的JSON数组.图片.重定向.404错误甚至是你可以想到的一切.控制器中包含了你应用程序需要创建响应的抽象逻辑. 接收请求,返回响应的基本生命周期 1.每个请求都被单个前端控制器(如app.php或index.php)文件处理,前端控制器负责引导框架: 2.路由查看并匹配请求信息,并

  • Symfony2学习笔记之插件格式分析

    本文讲述了Symfony2的插件格式.分享给大家供大家参考,具体如下: 一个bundle类似于其它框架中的插件,但是比插件表现更好.它跟其它框架最主要的不同是在Symfony2中所有东西都是bundle,包括核心框架功能和你写的所有应用程序代码.Symfony2中,bundle可是一等公民.这给了你使用其它第三方开发的内容包或者分发你自己的bundle更多灵活性.你可以方便的选择哪些内容可以应用到你的程序中那些不用,来根据你的想法优化它们. 一个bundle就是一个目录,它具有很好的结构性,它能

  • Symfony2学习笔记之模板用法详解

    本文实例讲述了Symfony2学习笔记之模板用法.分享给大家供大家参考,具体如下: 我们知道,controller负责处理每一个进入Symfony2应用程序的请求.实际上,controller把大部分的繁重工作都委托给了其它地方,以使代码能够被测试和重用.当一个controller需要生成HTML,CSS或者其他内容时,它把这些工作给了一个模板化引擎. 模板: 一个模板仅仅是一个文本文件,它能生成任意的文本格式(HTML,XML,CSV,LaTex...).最著名的模板类型就是PHP模板了,可以

  • Symfony2安装的方法(2种方法)

    本文详细讲述了Symfony2安装的方法.分享给大家供大家参考,具体如下: 一.Composer安装Symfony Composer安装Symfony方法在前面的文章<Symfony之十分钟入门>有介绍 二.Symfony Installer安装Symfony 这里来着重介绍第二种Symfony Installer安装Symfony的方法 1.安装Symfony Installer 控制台执行命令 [Sun@localhost html]$ curl -LsS http://symfony.c

随机推荐