PHP QRCode 生成二维码

I、概念拓展

1).一维条码

一维条码,是由一组粗细不同、黑白(或彩色)相间的条、空及其相应的字符(数字字母)组成的标记,即传统条码。多见于产品包装,可供扫描的地方。

PHP QRCode 生成二维码_第1张图片

2).二维条码

二维条码,是用某种特定的几何图形按照一定规律在平面(二维方向)上分布的条、空相间的图形(或进行抽象变形后的效果显示)来记录数据符号信息的标记。

PHP QRCode 生成二维码_第2张图片
  • 二维码分类 根据编码原理
    线性堆叠式二维码
    矩阵式二维码(又称棋盘式二维条码)
  • 二维码的优缺点
    优点
    信息容量大、编码范围广、容错能力强、译码可靠性高、可引入加密措施、成本低易制作
    缺点
    二维码技术容易成为手机病毒、钓鱼网站传播的新渠道,信息泄密

II、QRCode(Quick Response Code)

1).二维码标准

目前流行的三大国际标准

  • PDF417 :不支持中文
  • DM : 专利未公开,需要支付专利费用
  • QR Code : 专利公开,支持中文

QR Code 比其他二维码相比,具有识读速度快、数据密度大、占用空间小的优势.

2).QR Code 基本结构

PHP QRCode 生成二维码_第3张图片

3).QR Code 纠错能力

  • L 级:约可纠错 7% 的数据码字
  • M 级:约可纠错 15% 的数据码字
  • Q 级:约可纠错 25% 的数据码字
  • H级:约可纠错 30% 的数据码字

III、代码实现

以下的代码实现,是基于ThinkPHP 3.2.3框架下的设计,但代码逻辑大同小异,代码已上传github,欢迎参考。

1).php 生成QR Code

代码实现比较简单,需要引入 phpqrcode.php 文件,然后调用 png()方法,可酌情注意该方法中各个字段的使用要求,从而更能符合自己的功能设计需求。

PHP QRCode 生成二维码_第4张图片

上述方法可直接访问对应的链接进行查看,为了符合html显示效果,自然也可以进行嵌入式的前端显示:


链接显示效果显示如下,通过扫描即可获得其中的信息:

PHP QRCode 生成二维码_第5张图片

2).jquery 生成 QR Code

  • 可以进入 jeromeetienne 的 github 下载源文件.
  • 也可以进入第三方托管库 bootcdn.cn 下载对应的jquery和qrcode文件.
  • 对于第三方的文件,也可以下载一份部署到自己的服务器公共文件,以免对方网站服务影响访问。



    
    Title






实现效果如图:

PHP QRCode 生成二维码_第6张图片

3).PHP 生成电子名片

首先,了解一下 vCard 的概念:

PHP QRCode 生成二维码_第7张图片
vCard 百度百科介绍

实现代码如下:

 public function qrCode_vcard(){
        vendor("phpqrcode.phpqrcode");
        $content = 'BEGIN:VCARD'."\n";
        $content.= 'VERSION: 1.3.1'."\n";
        $content.= 'N: 毛球'."\n";
        $content.= 'FN: 贝利斯'."\n";
        $content.= 'TEL;WORK;VOICE: 18898989988'."\n";
        $content.= 'TEL;HOME;VOICE: 17789889999'."\n";
        $content.= 'ORG: 阿尔及利亚-安道尔'."\n";
        $content.= 'URL: http:www.moTou.com'."\n";
        $content.= 'END:VCARD'."\n";

        \QRcode::png($content,false,QR_ECLEVEL_L,3,2);
    }
  • 简要介绍代表名词:
    N //姓
    FN //名
    ORG //公司地址
    TEL;WORK;VOICE //工作单位电话
    TEL;HOME;VOICE //家里电话
    TEL;TYPE=cell //移动电话
    ADR;HOME //家庭住址
    EMAIL //邮箱
    URL //网址
  • 代码中的具体代表名词,请参考 二维码名片的格式 - vcard

QR Code 生成效果如下:

PHP QRCode 生成二维码_第8张图片

微信进行扫描后,可以得到下面的结果.


PHP QRCode 生成二维码_第9张图片

4).PHP 识别二维码

该功能个人觉得整理过于繁杂,但值得学习,建议参考附录视频,希望能帮助小猿们学到一丝有趣的东西。

IV、附录

  • 二维码(QR code)基本结构及生成原理
  • 参考视频链接
  • 源代码下载>>>

你可能感兴趣的:(PHP QRCode 生成二维码)