搜索
首页后端开发php教程PHP生成二维码_PHP教程
PHP生成二维码_PHP教程Jul 13, 2016 am 10:29 AM
web开发企业安全信息技术安全软件数据库移动开发系统安全网站安全网络安全网络技术软件开发

参数说明:

 
cht=qr:必要参数,固定值,表明要生成二维码
 
chs=x:必要参数,生成二维码尺寸,单位是像素,目前生成的二维码都是正方形的,所以两个宽高值都设置为一样的值
 
chl=:必要参数,生成二维码包含的信息,可以是数字、字符、二进制信息、汉字。不能混合数据类型,数据必须经过UTF-8 URL-encoded.如果需要传递的信息超过2K个字节,需使用POST方式
 
choe=:可选参数,编码格式。包括UTF-8/Shift_JIS/ISO-8859-1三个选项,默认为UTF-8。
 
chld=|:可选参数,
 
  error_correction_level:容错级别(共分四个等级,L-默认:可以识别已损失的7%的数据;M-可以识别已损失15%的数据;Q-可以识别已损失25%的数据;H-可以识别已损失30%的数据)
 
  margin:生成的二维码离图片边框的距离
 
 
 
例一:扫描二维码打开网址(API)
 
复制代码
//二维码信息,用urlencode编码
$data = urlencode('http://www.baidu.com');
//生成二维码尺寸
$size = '300x300';
//完整的API地址
$qrurl = "http://chart.googleapis.com/chart?chs=$size&cht=qr&chl=$data&chld=L|1&choe=UTF-8";
//获取二维码
$qrcode = file_get_contents($qrurl);
//输出图片
header('Content-type: image/png');
echo $qrcode;
复制代码
 在打开一个网站之后,我们要来实现归初的目的,扫描二维码,将企业信息导入通讯录,即在二维码中包含一个名片信息,其实二维码说白了就是将一堆信息转换为图片的形式表达,而这堆信息到底是什么样子的它并不关心,真正关心这些信息的是扫描二维码的工具,以上面的例子来说,当你用微信扫描二维码后,微信读取到二维码中储存的数据,然后尝试开始辨别它,当它发现内容是百度的网址时便使用浏览器打开它,同样的当它发现内容是一堆简单的文本数据时便以文本的形式来显示,同样的微信还可以辨别出二维码的内容是不是一个 vcard 格式的电子名片,我们的手机通讯录导入导出的时候大多是这种格式,所以我们可以直接在二维码中包含一个标准的 vcard 电子名片,这样就可以让扫描工具将它识别为通讯录。
 
复制代码
vcard 格式参考如下:
 
BEGIN:VCARD
VERSION:3.0
FN:用户名
TEL;CELL;VOICE:18858140621
TEL;WORK;VOICE:0358-2157466
TEL;WORK;FAX:0358-2157466
EMAIL;PREF;INTERNET:lzw#lzw.me
URL:http://lzw.me
orG:志文工作室
ROLE:产品部
TITLE:CTO
ADR;WORK;POSTAL:北京市朝阳区北四环中路35号;100101
REV:2012-12-27T08:30:02Z
END:VCARD
    
如果你想更详细的定制所需要的格式,请百度 vcard 的格式标准。
复制代码
 例二:生成一个名片二维码(API)
 
复制代码
//构建一个 vcard 格式数据
$vcard = 
    "BEGIN:VCARD".
    "\nVERSION:3.0".
    "\nFN:小编络络".
    "\nTEL;CELL;VOICE:18858140621".
    "\nTEL;WORK;VOICE:0358-2157466".
    "\nEMAIL:luoluo@qq.com".
    "\nURL:http://www.baidu.com".
    "\nADR:浙江省杭州市滨江区".
    "\nEND:VCARD";
 
//二维码信息,用urlencode编码
$data = urlencode($vcard);
//生成二维码尺寸
$size = '300x300';
//完整的API地址
$qrurl = "http://chart.googleapis.com/chart?chs=$size&cht=qr&chl=$data&chld=L|1&choe=UTF-8";
//获取二维码
$qrcode = file_get_contents($qrurl);
//输出图片
header('Content-type: image/png');
echo $qrcode;
复制代码
 到此为止我们归初的目的已经基本实现,但实际使用中,由于直接将上述拼装好的 url 加到了 img 标签的 src 属性,结果出了点小问题,由于我们的名片信息比较多,导致了二维码生成错误,在本文开头已经用红色字体标出,get 方式最多只能传递 2K 大的数据,大于 2K 数据时我们需要使用 POST 请求,所以在实际使用中,可以先在程序中通过 POST 方式获取二维码并保存为本地图片,之后直接调用本地图片即可。
 
 
 
方法二:使用 PHP QR CODE 生成二维码
 
官方主页:http://phpqrcode.sourceforge.net
 
下载地址:http://sourceforge.net/projects/phpqrcode/
 
使用方法:QRcode::png($data, $filename , $errorCorrectionLevel, $matrixPointSize, $margin );
 
    * $data 数据   
    * $filename 生成二维码保存路径,如果为 false 直接输出到浏览器  
    *$errorCorrectionLevel 错误处理级别  L、M、Q、H;同谷歌 API 中纠错级别
    * $matrixPointSize 每个黑点的像素   
    * $margin 图片外围的白色边框像素
 
 
 
例三:扫描二维码打开网址(phpqrcode)
 
复制代码
 
// 包含 qrlib.php 或 phpqrcode.php 
// 包含 qrlib.php 需要同其它文件放到一起; phpqrcode.php 是合并后版本,只需要包含这个文件,但生成的图片速度慢而且不太准确
include('./phpqrcode/qrlib.php');
 
// 二维码数据
$data = 'http://www.111cn.net';
 
// 纠错级别:L、M、Q、H
$errorCorrectionLevel = 'L';
 
// 点的大小:1到10
$matrixPointSize = 5;
 
QRcode::png($data, false, $errorCorrectionLevel, $matrixPointSize, 2);
复制代码
 
 
 例二:生成一个名片二维码(phpqrcode)
 
复制代码
// 包含 qrlib.php 或 phpqrcode.php
include('./phpqrcode/qrlib.php');
// 构建 vcard 数据
$vcard = 
    "BEGIN:VCARD".
    "\nVERSION:3.0".
    "\nFN:王歌".
    "\nTEL;CELL;VOICE:18858140621".
    "\nTEL;WORK;VOICE:0358-2157466".
    "\nEMAIL:wang@qq.com".
    "\nURL:http://www.mailuow.com".
    "\nADR:浙江省杭州市滨江区江虹路1750号".
    "\nEND:VCARD";
 
// 纠错级别:L、M、Q、H
$errorCorrectionLevel = 'L';
 
// 点的大小:1到10
$matrixPointSize = 4;
 
QRcode::png($vcard, false, $errorCorrectionLevel, $matrixPointSize, 2);
 
  

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/771403.htmlTechArticle参数说明: cht=qr:必要参数,固定值qr,表明要生成二维码 chs=widthxheight:必要参数,生成二维码尺寸,单位是像素,目前生成的二维码都是...
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何在 Windows 11 上创建移动热点如何在 Windows 11 上创建移动热点Apr 17, 2023 pm 06:22 PM

当然,在Android智能手机和Windows11PC之间共享移动互联网可能很有用,尤其是在Wi-Fi不可用时。因此,当其他选项刚刚出现时,知道如何与Windows设备共享移动互联网会非常方便。就像没有Wi-Fi时iPhone可以连接到Mac一样,Android设备也允许用户通过USB和蓝牙将智能手机的互联网连接与任何Windows笔记本电脑连接。对于我们许多人来说,通过电缆连接手机和PC不是一种选择,而通过蓝牙连接互联网可能会很慢。因此,使用智能手机创建W

实用Word技巧分享:2招轻松解决多图片排版!实用Word技巧分享:2招轻松解决多图片排版!Apr 01, 2023 am 10:57 AM

多图片排版,是Word编辑文档时常见场景之一,几乎每个人都会碰到,对很多人来说仍然是一大难题。当图片数量一多,很多人都不知道图片该怎么摆放,如何快速高效地搞定一组图片? 因为没有掌握系统的套路技巧,每次制作都花费大量时间,做不出满意的效果。今天我就教大家2 招,轻松解决多图片排版!

如何在网络安全中使用AI如何在网络安全中使用AIApr 14, 2023 pm 02:10 PM

Cybersecurity Ventures的报告显示,2021年全球网络犯罪带来的损失为6万亿美元,并预计打击网络犯罪的全球支出在2025年将增至10.5万亿美元,是2015年的三倍之多(3万亿美元)。人工智能,几乎是唯一应对方案。另一家研究机构Statista认为,2020年网络安全领域的人工智能价值已超过100亿美元,并预计到2027年将达到450亿美元。IBM则认为,缺乏人工智能安全的企业,在抵御网络攻击方面的成本是部署了AI自动化防御系统的企业的三倍。来自Meticulous的研究数据

Microsoft Edge 102.0.1245.41 带来安全修复和 PDF 打印错误解决方案Microsoft Edge 102.0.1245.41 带来安全修复和 PDF 打印错误解决方案May 06, 2023 pm 07:37 PM

微软在周末为其Edge浏览器发布了两个小更新。该公司在周五和今天发布了另一个安全更新。虽然周五的更新修复了影响Edge浏览器的安全问题,但今天的更新解决了影响所有基于Chromium的网络浏览器的安全问题。此外,该更新似乎解决了通过Edge浏览器访问PDF文件时无法打印的问题。稳定版本通道的Edge102.0.1245.41被标记为修复了多个漏洞的维护更新。Microsoft尚未更新发行说明。不过,该公司此前已告知Chromium和Edge浏览器存在以下漏洞:

从“微软安全的下一步”数字活动中可以期待什么从“微软安全的下一步”数字活动中可以期待什么Apr 19, 2023 am 10:46 AM

Microsoft数字活动的下一步安全计划将于太平洋时间(UTC-8)时间2月24日上午9:00至上午10:30举行。随着无处不在的威胁不断增长,为他们的公司寻找有效安全解决方案的各种组织希望在这次活动中找到一些有价值的技巧和知识。Microsoft的安全下一步计划将强调全面的安全方法对业务增长的重要性。它将欢迎不同的安全专家讨论最新的创新和技术,以减少最新的威胁风险。一些演讲者包括VasuJakkal(微软公司安全、合规和身份副总裁)和JeffPollard(F

人工智能聊天机器人在网络安全领域的发展趋势如何?人工智能聊天机器人在网络安全领域的发展趋势如何?Apr 22, 2023 pm 11:13 PM

OpenAI公司推出的聊天机器人ChatGPT有很多很好的用途,但就像任何新技术一样,有些人会利用ChatGPT用于罪恶的目的。从编写电子邮件等相对简单的任务,到撰写论文或编译代码等更复杂的工作,OpenAI公司的人工智能驱动的自然语言处理工具ChatGPT自从推出以来就引起了人们的极大兴趣。当然,ChatGPT并不完美——众所周知,当它误解了从中学习的信息时就会犯错,但许多人将它和其他人工智能工具视为互联网的未来。OpenAI公司在ChatGPT的服务条款中加入了禁止生成恶意软件的条目,其中包

Zerodium 宣布为 Microsoft Outlook 零点击 RCE 安全漏洞支付 400,000 美元Zerodium 宣布为 Microsoft Outlook 零点击 RCE 安全漏洞支付 400,000 美元Apr 29, 2023 pm 09:28 PM

<ul><li><strong>点击进入:</strong>ChatGPT工具插件导航大全</li></ul><figureclass="imageimage--expandable"><imgsrc="/uploads/2023041

您应该了解的 5 个重要的 iPhone 安全功能您应该了解的 5 个重要的 iPhone 安全功能Apr 18, 2023 am 09:58 AM

虽然iOS16拥有经过重新设计的时髦锁屏,但在其下方,最新的操作系统拥有一系列全新的安全和隐私功能,旨在帮助保护您和您的数据。这里有五项新功能可以更好地保护您的iPhone免受黑客攻击,让您更加安心。快速安全响应iOS以及macOS和iPadOS现在允许自动“快速安全响应”。这使Apple能够快速修补软件(即零日漏洞或其他严重漏洞)并将其发送到数百万台设备,而无需重新启动或任何最终用户交互。这在“设置”>“通用”>“软件更新”>“自动更新”下可用有趣的是,即使关闭了这个

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具