1.二维码概述

二维条码/二维码(2-dimensional bar
code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念。

一维条码/条形码:是由一组粗细不同、黑白(或彩色)相间的条、空及其相应的字符(数字字母)组成的标记,即传统条码。

二维条码是用某种特定的几何图形按一定规律在平面(二位方向)上分布的条、空相间的图形来记录数据符号信息。

2.二维码的分类

根据编码原理:

  • 先行堆叠式二维码:堆叠式/行排式二维条码其编码原理是建立在一维条码基础上,按需要堆积成二行或多行。
  • 矩阵式二维码:矩阵式二维条码(又称棋盘式二维条码)是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示为二进制的“0”

3.二维码的优缺点

优点:

  • 信息容量大;
  • 编码范围广;
  • 容错能力强;(部分缺失不影响功能)
  • 驿马可靠性高;
  • 可引入加密措施;
  • 成本低,易制作 缺点:
  • 二维码技术成为手机病毒、钓鱼网站传播的新渠道;
  • 信息泄密;

4.OR Code介绍

目前留下的三大国际标准:

  • PDF417:不支持中文;
  • DM:专利未公开,需支付专利费用;
  • QR Code:专利公开,支持中文 与其他二维码相比,具有识读速度快、数据密度大、占用空间小等优势。 Quick Response Code。

纠错能力(二维码被破坏时,依然可以保持数据的完整性):

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

5 php 生成QR Code

  • 下载phpqrcode源码:https://sourceforge.net/projects/phpqrcode/files/latest/download

  • 解压后复制到项目文件夹

  • 编写代码

<?phpinclude_once 'phpqrcode/qrlib.php';/*** png函数的参数:* $text:保存的文本内容;* $outfile:是否输出为文件,默认false* $level:纠错能力级别* $size:大小* $margin:边距* $saveandprint:是否保存并打印,默认false*/
//QRCode::png('abc');
QRCode::png('abc1', 'abc1.jpg'); // 浏览器不输出,保存为图片
//QRCode::png('abc', false, QR_ECLEVEL_L, 10, 0);
QRCode::png('abc2', 'abc_2.jpg', QR_ECLEVEL_L, 10, 0, true);

abc1.jpg

abc_2.jpg

Alt+鼠标左键,点击"png”进入png函数的源码,就会发现这里有bug,设置了saveandprint的值固定是false,而没有接收传进来的值,导致无法打印并保存。这里只需要把“=false”去掉即可。

6. jquery生成QR Code

  • 下载jquery-qrcode:https://gitee.com/mlnt/jquery-qrcode

  • 解压后复制到项目文件夹

  • 编写html代码

 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>qrcode</title></head><body><div id="qrcode"></div><script src="https://code.jquery.com/jquery-3.4.1.min.js"></script><script src="jquery-qrcode-master/jquery.qrcode.min.js"></script><script type="text/javascript">$('#qrcode').qrcode("Hello world");$('#qrcode').qrcode({width: 64, height: 64, text: "This is a test."});</script></body></html>

7. php生成电子名片

<?php
// php 生成电子名片include_once './phpqrcode/qrlib.php';/*** N:姓* FN:名* ORG:公司地址* TEL;WORK;VOICE:工作单位电话* TEL;HOME;VOICE:家里电话* TEL;TYPE=cell:移动电话* ADR;HOME:家庭地址* EMAIL:邮箱* URL:网址**/$content = 'BEGIN:VCARD'."\n";
$content .= 'VERSION:2.1'."\n";
$content .= 'N:张'."\n";
$content .= 'FN:三'."\n";
$content .= 'END:VCARD'."\n";QRcode::png($content);

扫码结果:

<?php
// php 生成电子名片include_once './phpqrcode/qrlib.php';/*** N:姓* FN:名* ORG:公司地址* TEL;WORK;VOICE:工作单位电话* TEL;HOME;VOICE:家里电话* TEL;TYPE=cell:移动电话* ADR;HOME:家庭地址* EMAIL:邮箱* URL:网址**/$content = 'BEGIN:VCARD'."\n";
$content .= 'VERSION:2.1'."\n";
$content .= 'N:张'."\n";  // 姓
$content .= 'FN:三'."\n";  // 名
$content .= 'NICKNAME:法外狂徒'."\n"; // 别名
$content .= 'BDAY:1997-07-01'."\n"; // 生日
$content .= "NOTE:人一定要有梦想,有了梦想,你才能是一个真正有梦想的人。"."\n"; // 备注
$content .= 'ORG:中国刑法之光研究所'."\n"; // 公司地址
$content .= 'TITLE:项目经理'."\n";  // 头衔
$content .= 'TEL;WORK;VOICE:123321666'."\n"; // 工作单位电话
$content .= 'TEL;HOME;VOICE:134502404'."\n"; // 家里电话
$content .= 'TEL;TYPE=cell:143666888'."\n"; // 移动电话
$content .= 'ADR;HOME:;;法外大道404号;北城区;哥谭市;438384;中国'."\n"; // 家庭住址
$content .= 'EMAIL:zs@163.com'."\n"; // 邮箱
$content .= 'END:VCARD'."\n";QRcode::png($content);

扫描结果:


参考文章:

  • https://blog.csdn.net/jdj_1/article/details/7899967
  • https://wlink.blog.csdn.net/article/details/50765247
  • https://www.imooc.com/video/15325
  • https://www.jb51.net/article/48124.htm

PHP QRCode生成二维码相关推荐

  1. C# 利用QRCode生成二维码图片

    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...

  2. 使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法

    使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 参考文章: (1)使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 (2)https: ...

  3. 关于QRCode生成二维码(背景图、Logo)

    关于QRCode生成二维码的代码 /// <summary> /// 创建二维码 /// </summary> /// <param name="QRStrin ...

  4. php使用Qrcode生成二维码

    php使用Qrcode生成二维码 首先检查php.ini Gd 库要打开 use QrCode; //控制器引用public function index(){include 'phpqrcode.p ...

  5. 用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误

    用ThoughtWorks.QRCode生成二维码时出现"索引超出了数组界限"的错误 字符串较长的情况下,用ThoughtWorks.QRCode生成二维码时出现"索引超 ...

  6. qrcode 生成二维码,带logo 带文字描述

    qrcode 生成二维码 1.引入 pom.xml 2. ResourceRenderer 3. QRCodeUtil 4. QRCodeController 5. HTML 6. 测试 1.引入 p ...

  7. C语言使用QRcode生成二维码

    C语言使用QRcode生成二维码的简单操作 首先需要QRcode源码包 可以参考这位大神的文章: https://blog.csdn.net/qq_21475601/article/details/7 ...

  8. qr-code 生成二维码

    1.下载: composer require endroid/qr-code php: >=7.2 2.新建Qrcodes.php二维码生成类 use Endroid\QrCode\ErrorC ...

  9. vue使用qrcode生成二维码

    vue使用qrcode生成二维码 1. 首先安装qrcode插件 npm i qrcode -S 2.引入使用 import QRCode from 'qrcode' 3.生成二维码 <temp ...

  10. TP6使用qrcode生成二维码

    经常会碰到系统根据地址生成二维码的使用场景,如健康码,分享商品,邀请用户注册等,使用qrcode生成二维码非常方便,它支持带logo或者不带,也可以设置二维码大小. composer require ...

最新文章

  1. Go 语言中的 new() 和 make()的区别
  2. 基于SpringJDBC 实现关键功能-ClassMappings
  3. Windows高级编程学习笔记(一)
  4. 这个1500个+Javascript特效代码,瞬间提升你的开发效率
  5. freenas 11.2踩过的坑
  6. 完美解决苹果电脑mac终端无法输入大写T的问题
  7. 微信内测一个手机可注册2微信号
  8. unity粒子系统笔记
  9. linux添加多网站,linux添加多个网站-微笑の风
  10. 小胡网创:读书和赚钱是一个人一生最好的修行
  11. 关于 C++ 打印 PDF 打印及 PDF 转图片、合并
  12. 计算格拉姆矩阵_如何用简单易懂的例子解释格拉姆矩阵/Gram matrix?
  13. 树莓派基础实验24:超声波测距传感器实验
  14. numpy——arry矩阵交换行或者交换列
  15. objectArx ---基础操作
  16. 高二会考计算机分数,会考成绩abcd各是多少分 会考成绩对高考有影响吗
  17. win7笔记本电脑安装ubuntu18.04双系统配置过程记录
  18. 如何批量图片识别文字?两个好用的电脑端软件教程
  19. NJU数电实验1-3
  20. java 下载txt文件(页面代码+Java后台代码+下载工具类)

热门文章

  1. 【自考】信息系统开发与管理
  2. python程序开始和结束时间
  3. 行的开始和结束 开始符号:^ 结束符号:$
  4. 进程管理命令 tskill,tasklist
  5. IDC 首都在线 | 渲染算力云2.0深度解析
  6. 【Java】不会真的有人还不知道JavaBean是咖啡豆吧
  7. OSChina 周一乱弹 ——新娘着火,拿红酒灭火的肯定是新郎前女友
  8. Linux学习之路——常见指令详细总结(中)
  9. 工业级三维扫描仪应用:精密金属模具公差检测
  10. 军用三维电子沙盘实战应用系统