二维码的分类

  • 线性堆叠式二维码
  • 矩阵式二维码

二维码的优缺点

优点

  • 信息容量大
  • 编码范围广
  • 容错能力强
  • 译码可靠性高
  • 可引入加密措施
  • 成本低,易制作

缺点

  • 二维码技术成为手机病毒、钓鱼网站传播的新渠道
  • 信息泄密

目前流行的三大国际标准

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

QR CODE 纠错能力

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

前提条件

  • GD库

一、PHP生成QR CODE

  • 官网:http://phpqrcode.sourceforge.net/
  • 下载源码:https://github.com/endroid/qr-code

目录结构


1、qrcode_create.php
ps:生成普通二维码

<?php
include_once "./qrcode/phpqrcode.php";/*** 参数:p1:二维码包含的内容 p2:输出的文件名 p3:容错级别 p4:大小 p5:外边距margin p6:保存路径* 在浏览器上直接生成一个二维码(内容为abc)*/
QRcode::png("abc");
QRcode::png("ABC",false,QR_ECLEVEL_L,10,5,false);/*** 生成文件到本地* 参数:p1:二维码包含的内容 p2:输出的文件名 p3:容错级别 p4:大小 p5:外边距margin p6:是否保存并打印(false 直接生成 true 生成且打印)* PS:$saveandprint源码的p6参数做了修改*/QRcode::png("ABC","ABC.jpg",QR_ECLEVEL_H,10,2,false);

2、qrcode_logo.php
ps:生成带Logo的二维码

<?php
/*** Created by PhpStorm.* User: user* Date: 2018/8/16* Time: 10:43*/
include "./qrcode/phpqrcode.php";
$txt = "测试内容";
$picPathAndName = "./pic/ABC.jpg";//二维码保存路径和名称
$level = 'L';
$size = 5;
$is_logo = 1;//是否包含Logo 0否 1是
$margin = 2;//边距
$saveAndPrint = true;//是否保存,保存时,$picPathAndName设置为true//生成二维码图片QRcode::png($txt, $picPathAndName, $level, $size, $margin,$saveAndPrint);if($is_logo == 1){$QR = $picPathAndName; //已经生成的原始二维码图$Logo = './pic/logo.png';$Logo_re = './pic/test_logo.png';$QR = imagecreatefromstring(file_get_contents($QR));$Logo = imagecreatefromstring(file_get_contents($Logo));$QR_width = imagesx($QR); //二维码图片宽度$QR_height = imagesy($QR); //二维码图片高度$logo_width = imagesx($Logo); //logo图片宽度$logo_height = imagesy($Logo); //logo图片高度$logo_qr_width = $QR_width / 5;$scale = $logo_width / $logo_qr_width;$logo_qr_height = $logo_height / $scale;$from_width = ($QR_width - $logo_qr_width) / 2;imagecopyresampled($QR, $Logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height);//输出图片imagepng($QR, $Logo_re);
}

3、qrcode_vcard.php (生成电子签名)

  • vCard格式:https://zh.wikipedia.org/wiki/VCard
<?php
/*** Created by PhpStorm.* User: user* Date: 2018/8/15* Time: 23:00*/
require_once "./qrcode/phpqrcode.php";/*** 生成电子签名* PS;使用微信扫描二维码*/
$content = 'BEGIN:VCARD' . "\n";//起始标志
$content .= 'VERSION:2.1' . "\n";//当前版本
$content .= 'N:周' . "\n";//姓
$content .= 'FN:勇' . "\n";//名
$content .= 'ORG:江苏东大集成电路系统有限公司' . "\n";//公司名称
$content .= 'TITLE:PHP研发程序员' . "\n";//职位
$content .= 'TEL;WORK;VOICE:0523-83623173' . "\n";//工作电话
$content .= 'ADR;WORK:;;高新区星火路#2;南京市;江苏省;225762;中国' . "\n";//工作地址
$content .= 'ADR;HOME:;;下圩镇王横村178号;兴化市;江苏省;225762;中国' . "\n";//家庭地址(街道,地级市,省,邮编,国家)
$content .= 'TEL;TYPE:18000001111' . "\n";//移动电话
$content .= 'EMAIL:123456@qq.com' . "\n";//邮箱
$content .= 'URL:www.baidu.com' . "\n";//个人主页
$content .= 'END:VCARD' . "\n";//结束标志
QRcode::png($content);

二、JQUERY生成QR CODE

  • 源码地址:https://github.com/jeromeetienne/jquery-qrcode

jquery_create.php

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Jquery生成二维码</title><script src="https://code.jquery.com/jquery-3.3.1.min.js"></script><script type="text/javascript" src="./jquery-qrcode/jquery.qrcode.min.js"></script>
</head>
<body>
<div id="qrcode"></div>
<script>//$('#qrcode').qrcode("this plugin is great");$('#qrcode').qrcode({width: 64,height: 64,text: "jason"});
</script>
</body>
</html>

三、PHP识别二维码

1、方法一
环境需求,安装如下扩展
- ImageMagick
- zbar
- php-zbarcode

2、方法二
PHP识别二维码(无需安装扩展),初步测试普通二维码可以,带Logo的二维码,容错级别需要设置高一点页可以
qrReader类:https://github.com/baagee/php_QrReader

<?php
include_once('./qrReader/lib/QrReader.php');
$qrcode = new QrReader('./test_logo.png');  //图片路径
$text = $qrcode->text(); //返回识别后的文本
echo $text;

链接:https://pan.baidu.com/s/1icpWRjIQiXdCXeOc52pNSg 密码:c5y7

PHP生成二维码与识别二维码相关推荐

  1. Android利用zxing生成二维码,识别二维码,中间填充图片超详细、超简易教程

    gayhub上的zxing可用于生成二维码,识别二维码 gayhub地址:https://github.com/zxing/zxing 此文只是简易教程,文末附有完整代码和demo下载地址,进入正题: ...

  2. 生成二维码、识别二维码的工具类

    笔者日常: 第一次用markdown写文章,有点手生~ 声明: 此工具类由本人二次整理改造后分享给大家,原编写者未知,虽然本人重写了大部分逻辑代码,但是核心部分仍然是采用的原来的代码.若涉及侵权问题, ...

  3. C#_WPF中创建二维码、识别二维码

    C#_WPF中创建二维码.识别二维码 原文: C#_WPF中创建二维码.识别二维码 第三方库: WPFMediaKit.dll (WPFMediaKit摄像头处理) zing.dll NuGet安装这 ...

  4. Flutter - 生成二维码与识别二维码

    #生成二维码 ##首先需要在pubspec.yaml:中添加 qr_flutter: ^1.1.3 其次,引入代码: import 'package:qr_flutter/qr_flutter.dar ...

  5. 通过二维码图片识别二维码内容方法

    示例代码功能见-识别二维码工具 反解析二维码工具 识别条码工具 反解析条码工具http://sberwm.gsjlw.com/ 可以通过读取图片中的信息,来逆向识别二维码的内容, 主要使用了ZBarC ...

  6. Java中识别二维码并且提高二维码的识别率

    我们在Java开发的时候,发现对二维码的识别是不足的.所以我们需要提高识别率. 第一步.识别图片二维码.准备相应的jar包.我们在gradle+idea中开发. compile group: 'com ...

  7. Qt利用QZXing和QRenCode识别二维码和制作二维码

    制作二维码和识别二维码需要用到第三方库,制作需要用到QRenCode这个库,如果没 有的,大家可以在官网下载,或者去这个网址直接下载我编译好的两个库和头文件 [https://download.csd ...

  8. Android利用zxing用相机扫描识别二维码(添加闪光灯和本地二维码)超详细教程

    之前写了怎么用zxing的jar包进行简单的识别和生成二维码,以及生成带图片的二维码. 接下来单独说说怎么用相机扫描二维码,用相机扫描二维码相对于前面的生成二维码,识别二维码来说要麻烦一点,网上的教程 ...

  9. android扫码二维码识别二维码

    1. 快速集成扫码二维码,识别二维码功能.经过加工处理优化的,直接返回扫码结果字符串和图片的bitmap数据. 直接上代码: package com.xinxinchelian.myscanzxing ...

  10. uniapp 微信小程序长按识别二维码,跳转小程序、个人微信

    前言: 业务要求是小程序放一个二维码图片,长按可以识别二维码,进而识别出个人微信,添加个人微信:我们可以通过uni.previewImage(OBJECT)或者wx.previewImage(Obje ...

最新文章

  1. SpringBoot解决cors跨域问题
  2. Django(part42)--限制IP请求次数
  3. linux在A目录下创建B文件,Linux课程---5、常用文件命令和目录命令(创建文件命令)...
  4. C#穿透session隔离———Windows服务启动UI交互程序
  5. 据说,很多搞科研的硕博生,都容易产生以下20个错觉,看看你中了几枪?
  6. 一些oracle基础
  7. Flowable入门系列文章187 - 高并发性的UUID ID生成器和多租户
  8. 数据分析可视化图表mysql_50个最有价值的数据可视化图表
  9. w10连接远程计算机控制,Win10远程桌面连接如何开启,3种方式助你远程控制
  10. 看中国魅力女强人 访格力电器总裁董明珠
  11. 【verilog】按键消抖(FPGA,低电平有效按键,状态机法)
  12. 春节快过腻了?不妨关心下太空探索
  13. 支付宝小程序财富号基金相关页面之间相关跳转
  14. 怎样使用计算机函数求出等级,巧用Excel函数出练习题
  15. 亚马逊、Facebook在印度遭遇的最大阻力竟是中国!
  16. 瑜岿科技综合能源管理系统助力企业节能降耗工作
  17. 深入了解示波器(九):示波器的XY时间模式
  18. 【HTML】2022国庆假期 HTML学习笔记
  19. Qt开发之中国象棋篇(四):棋子移动(上)
  20. [转载]三大WEB服务器软件比较(Apache ,Lighttpd,Nginx)对比分析

热门文章

  1. python 两个nc文件 风场,ECMWF 不同step 的 NC 文件如何合并
  2. 关于ACM竞赛的题型分析
  3. ArcGIS重分类之后统计各类别面积
  4. 推荐一款免费开源的javascript电子表格:x-sheet
  5. 配置管理基本概念、配置管理计划、配置管理主要活动
  6. 应用密码学:协议、算法与C源程序(学习第二章)
  7. H3CSE园区-SSH
  8. python工厂模式和单例模式_python之单例模式和工厂模式
  9. MMD-MikuMikuDance简易教程(包含软件、资源下载、MME特效中文说明、等等)
  10. 什么软件能做英语测试卷听力,英语听力app哪个好用-什么英语听力软件最好