PHP QRCode生成二维码
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生成二维码相关推荐
- C# 利用QRCode生成二维码图片
网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...
- 使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法
使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 参考文章: (1)使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 (2)https: ...
- 关于QRCode生成二维码(背景图、Logo)
关于QRCode生成二维码的代码 /// <summary> /// 创建二维码 /// </summary> /// <param name="QRStrin ...
- php使用Qrcode生成二维码
php使用Qrcode生成二维码 首先检查php.ini Gd 库要打开 use QrCode; //控制器引用public function index(){include 'phpqrcode.p ...
- 用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误
用ThoughtWorks.QRCode生成二维码时出现"索引超出了数组界限"的错误 字符串较长的情况下,用ThoughtWorks.QRCode生成二维码时出现"索引超 ...
- qrcode 生成二维码,带logo 带文字描述
qrcode 生成二维码 1.引入 pom.xml 2. ResourceRenderer 3. QRCodeUtil 4. QRCodeController 5. HTML 6. 测试 1.引入 p ...
- C语言使用QRcode生成二维码
C语言使用QRcode生成二维码的简单操作 首先需要QRcode源码包 可以参考这位大神的文章: https://blog.csdn.net/qq_21475601/article/details/7 ...
- qr-code 生成二维码
1.下载: composer require endroid/qr-code php: >=7.2 2.新建Qrcodes.php二维码生成类 use Endroid\QrCode\ErrorC ...
- vue使用qrcode生成二维码
vue使用qrcode生成二维码 1. 首先安装qrcode插件 npm i qrcode -S 2.引入使用 import QRCode from 'qrcode' 3.生成二维码 <temp ...
- TP6使用qrcode生成二维码
经常会碰到系统根据地址生成二维码的使用场景,如健康码,分享商品,邀请用户注册等,使用qrcode生成二维码非常方便,它支持带logo或者不带,也可以设置二维码大小. composer require ...
最新文章
- Go 语言中的 new() 和 make()的区别
- 基于SpringJDBC 实现关键功能-ClassMappings
- Windows高级编程学习笔记(一)
- 这个1500个+Javascript特效代码,瞬间提升你的开发效率
- freenas 11.2踩过的坑
- 完美解决苹果电脑mac终端无法输入大写T的问题
- 微信内测一个手机可注册2微信号
- unity粒子系统笔记
- linux添加多网站,linux添加多个网站-微笑の风
- 小胡网创:读书和赚钱是一个人一生最好的修行
- 关于 C++ 打印 PDF 打印及 PDF 转图片、合并
- 计算格拉姆矩阵_如何用简单易懂的例子解释格拉姆矩阵/Gram matrix?
- 树莓派基础实验24:超声波测距传感器实验
- numpy——arry矩阵交换行或者交换列
- objectArx ---基础操作
- 高二会考计算机分数,会考成绩abcd各是多少分 会考成绩对高考有影响吗
- win7笔记本电脑安装ubuntu18.04双系统配置过程记录
- 如何批量图片识别文字?两个好用的电脑端软件教程
- NJU数电实验1-3
- java 下载txt文件(页面代码+Java后台代码+下载工具类)